PsiElementVisitor (@NotNull ProblemsHolder holder, boolean isOnTheFly) { JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(holder.getProject()); PsiFile file = holder.getFile(); GlobalSearchScope resolveScope = file.getResolveScope(); PsiClass languageClass = psiFacade.findClass(Language.class.getName(), resolveScope); PsiClass fileTypeClass = psiFacade.findClass(FileType.class.getName(), resolveScope); PsiClass mapClass = psiFacade.findClass(Map.class.getName(), resolveScope); if (languageClass == null || fileTypeClass == null || mapClass == null) { return PsiElementVisitor.EMPTY_VISITOR; } UFieldVisitor visitor = new UFieldVisitor( holder, mapClass, asList(languageClass, fileTypeClass) ); //noinspection unchecked return UastHintedVisitorAdapter.create( file.getLanguage(), visitor, new Class[]{UField.class} ); }