List<PsiFile> (final Project project, final String className, final GlobalSearchScope scope) { try (AccessToken ignore = SlowOperations.knownIssue("IDEA-307701, EA-648610")) { return ReadAction.compute(() -> { final Collection<VirtualFile> files; try { files = FileBasedIndex.getInstance().getContainingFiles(NAME, className, GlobalSearchScope.projectScope(project).intersectWith(scope)); } catch (IndexNotReadyException e) { return Collections.emptyList(); } if (files.isEmpty()) return Collections.emptyList(); List<PsiFile> result = new ArrayList<>(); for (VirtualFile file : files) { if (!file.isValid()) continue; PsiFile psiFile = PsiManager.getInstance(project).findFile(file); if (psiFile != null) { result.add(psiFile); } } return result; }); } }