@Nullable
 public static Language getLanguage(String langName) {
   for (LanguageCodeStyleSettingsProvider provider : Extensions.getExtensions(EP_NAME)) {
     String name = provider.getLanguageName();
     if (name == null) name = provider.getLanguage().getDisplayName();
     if (langName.equals(name)) {
       return provider.getLanguage();
     }
   }
   return null;
 }
 @NotNull
 public static Language[] getLanguagesWithCodeStyleSettings() {
   final ArrayList<Language> languages = new ArrayList<>();
   for (LanguageCodeStyleSettingsProvider provider : Extensions.getExtensions(EP_NAME)) {
     languages.add(provider.getLanguage());
   }
   return languages.toArray(new Language[languages.size()]);
 }
 @Nullable
 public static LanguageCodeStyleSettingsProvider forLanguage(final Language language) {
   for (LanguageCodeStyleSettingsProvider provider : Extensions.getExtensions(EP_NAME)) {
     if (provider.getLanguage().equals(language)) {
       return provider;
     }
   }
   return null;
 }