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