void (@NotNull ChooseByNameContributor contributor, @NotNull FindSymbolParameters parameters, @NotNull Processor<? super String> nameProcessor) { IntSet filter = new IntOpenHashSet(1000); if (contributor instanceof ChooseByNameContributorEx2) { ((ChooseByNameContributorEx2)contributor).processNames(s -> { if (nameProcessor.process(s)) { filter.add(s.hashCode()); } return true; }, parameters); } else if (contributor instanceof ChooseByNameContributorEx) { ((ChooseByNameContributorEx)contributor).processNames(s -> { if (nameProcessor.process(s)) { filter.add(s.hashCode()); } return true; }, parameters.getSearchScope(), parameters.getIdFilter()); } else { String[] names = contributor.getNames(myProject, parameters.isSearchInLibraries()); for (String element : names) { if (nameProcessor.process(element)) { filter.add(element.hashCode()); } } } myContributorToItsSymbolsMap.put(contributor, filter); }