Skip to content

Commit

Permalink
Avoid creating intermediate map when creating immutable capabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
shs96c committed Mar 29, 2021
1 parent e6f1131 commit 0f2795d
Showing 1 changed file with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,12 @@ public ImmutableCapabilities(
}

public ImmutableCapabilities(Capabilities other) {
this(other.asMap());
Require.nonNull("Capabilities", other);
other.getCapabilityNames().forEach(name -> delegate.setCapability(name, other.getCapability(name)));
}

public ImmutableCapabilities(Map<?, ?> capabilities) {
Require.nonNull("Capabilities", capabilities);
capabilities.forEach((key, value) -> {
Require.argument("Key", key).instanceOf(String.class);
delegate.setCapability(String.valueOf(key), value);
Expand Down Expand Up @@ -118,4 +120,4 @@ public static ImmutableCapabilities copyOf(Capabilities capabilities) {

return new ImmutableCapabilities(capabilities);
}
}
}

0 comments on commit 0f2795d

Please sign in to comment.