FeatureSet extends PredicateValue { public Set<String> getValues() { return values; } FeatureSet(String key, String... values);  FeatureSet(String key, Collection<String> values); FeatureSet setKey(String key); String getKey(); FeatureSet addValue(String value); FeatureSet addValues(Collection<String> values); FeatureSet setValues(Collection<String> values); Set<String> getValues(); @Override FeatureSet clone(); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Test public void requireThatValueSetIsMutable() { FeatureSet node = new FeatureSet("key"); node.getValues().add("valueA"); assertValues(Arrays.asList("valueA"), node); node = new FeatureSet("key", "valueA"); node.getValues().add("valueB"); assertValues(Arrays.asList("valueA", "valueB"), node); }