boolean (@NotNull AbstractColorsScheme otherScheme, @NotNull Collection<Predicate<? super ColorKey>> filters) { for (ColorKey key : colorMap.keySet()) { Color thisColor = getColor(key); Color otherColor = otherScheme.getColor(key); if (isColorKeyAccepted(filters, key) && !Comparing.equal(thisColor, otherColor)) { return false; } } filters.add(key -> !colorMap.containsKey(key)); if (parentScheme instanceof EditorColorsSchemeImpl && !((EditorColorsSchemeImpl)parentScheme).compareColors(otherScheme, filters)) { return false; } return true; }