Set<JsonSchemaType> (@Nullable Set<JsonSchemaType> self, @Nullable Set<JsonSchemaType> other) { if (self == null) return other; if (other == null) return self; Set<JsonSchemaType> resultSet = EnumSet.noneOf(JsonSchemaType.class); for (JsonSchemaType type : self) { JsonSchemaType merged = mergeTypes(type, null, other); if (merged != null) resultSet.add(merged); } if (resultSet.isEmpty()) { myIsValidByExclusion = false; return other; } return resultSet; }