boolean (@NotNull AbstractColorsScheme otherScheme, @NotNull Collection<Predicate<? super TextAttributesKey>> filters) { for (String keyName : attributesMap.keySet()) { TextAttributesKey key = TextAttributesKey.find(keyName); if (!isTextAttributeKeyIgnored(filters, key) && !getAttributes(key).equals(otherScheme.getAttributes(key))) { return false; } } filters.add(key -> attributesMap.containsKey(key.getExternalName())); if (parentScheme instanceof EditorColorsSchemeImpl && !((EditorColorsSchemeImpl)parentScheme).compareAttributes(otherScheme, filters)) { return false; } return true; }