private static List<LanguageDefinition> collectLibraryLanguages(
     final ConvertContext context, final Collection<PsiClass> allLanguages) {
   return ContainerUtil.mapNotNull(
       Language.getRegisteredLanguages(),
       (NullableFunction<Language, LanguageDefinition>)
           language -> {
             if (language.getID().isEmpty() || language instanceof DependentLanguage) {
               return null;
             }
             final PsiClass psiClass =
                 DomJavaUtil.findClass(
                     language.getClass().getName(), context.getInvocationElement(), true);
             if (psiClass == null || !allLanguages.contains(psiClass)) {
               return null;
             }
             final LanguageFileType type = language.getAssociatedFileType();
             final Icon icon = type != null ? type.getIcon() : null;
             return new LanguageDefinition(
                 language.getID(), psiClass, icon, language.getDisplayName());
           });
 }