LanguageLevel (@NotNull LanguageLevel languageLevel) { if (isLanguageLevelAccepted(languageLevel)) return languageLevel; LanguageLevel highestAcceptedLevel = getHighestAcceptedLevel(); return highestAcceptedLevel.isAtLeast(languageLevel) ? LanguageLevel.HIGHEST : highestAcceptedLevel; }