private static EnumSet<Feature> add(Set<Feature> features, Feature feature) { EnumSet<Feature> result = enumSetOf(features); result.add(feature); return result; }
private static EnumSet<Feature> union(Set<Feature> features, Set<Feature> newFeatures) { EnumSet<Feature> result = enumSetOf(features); result.addAll(newFeatures); return result; }
private static EnumSet<Feature> difference(Set<Feature> features, Set<Feature> removedFeatures) { EnumSet<Feature> result = enumSetOf(features); result.removeAll(removedFeatures); return result; }