boolean processAll(@NotNull Processor<? super PsiFile> processor) {
    VirtualFileSet visited = VfsUtilCore.createCompactVirtualFileSet();
    for (VirtualFile root : myRoots) {
      if (!ProjectRootManager.getInstance(myProject).getFileIndex().iterateContentUnderDirectory(root, fileOrDir -> {
        if (fileOrDir.isDirectory() || !visited.add(fileOrDir)) {
          return true;
        }
        PsiFile psiFile = ReadAction.compute(() -> myProject.isDisposed() ? null : PsiManager.getInstance(myProject).findFile(fileOrDir));
        return psiFile == null || processor.process(psiFile);
      })) return false;
    }
    return true;
  }
boolean processAll(@NotNull Processor<? super PsiFile> processor)