LanguageLevel (@NotNull LanguageLevel languageLevel, boolean isPreview) { if (languageLevel.isPreview() == isPreview) return languageLevel; com.intellij.util.lang.JavaVersion javaVersion = languageLevel.toJavaVersion(); return Arrays.stream(LanguageLevel.values()) .filter(it -> it.isPreview() == isPreview) .filter(it -> it.toJavaVersion().equals(javaVersion)) .findFirst() .orElse(languageLevel); }