@Override
  public void processElementsWithName(@NotNull String name,
                                      @NotNull Processor<? super NavigationItem> processor,
                                      @NotNull FindSymbolParameters parameters) {
    boolean globalSearch = parameters.getSearchScope().isSearchInLibraries();
    boolean directoriesOnly = isDirectoryOnlyPattern(parameters);
    boolean withFiles = !directoriesOnly;
    boolean withDirs = directoriesOnly || Registry.is("ide.goto.file.include.directories");
    PsiManager psiManager = PsiManager.getInstance(parameters.getProject());
    FilenameIndex.processFilesByNames(
      Set.of(name), true, parameters.getSearchScope(), parameters.getIdFilter(), file -> {
        if (!file.isValid()) return true;
        boolean isDir = file.isDirectory();
        if (!withFiles && !isDir || !withDirs && isDir) return true;

        if (!globalSearch && ProjectUtil.isProjectOrWorkspaceFile(file)) {
          return true;
        }
        PsiFileSystemItem psi = isDir ? psiManager.findDirectory(file) : psiManager.findFile(file);
        if (psi == null) return true;
        return processor.process(psi);
      });
  }
@Override
  public void processElementsWithName(@NotNull String name,
                                      @NotNull Processor<? super NavigationItem> processor,
                                      @NotNull FindSymbolParameters parameters)