@Override
          public boolean equals(IdeaJavaLanguageSettings o1, IdeaJavaLanguageSettings o2) {
            return o1 == o2 ||
                   o1 != null && o2 != null &&
                   getLanguageLevel(o1) == getLanguageLevel(o2) &&
                   nullsafeEqual(nullizeUnsupported(new TargetBytecodeVersionGetter(o1)),
                                 nullizeUnsupported(new TargetBytecodeVersionGetter(o2))) &&
                   nullsafeEqual(nullizeUnsupported(new JavaHomePathGetter(o1)), nullizeUnsupported(new JavaHomePathGetter(o2)));
          }
@Override
          public boolean equals(IdeaJavaLanguageSettings o1, IdeaJavaLanguageSettings o2)