boolean (@NotNull ChooseByNameViewModel base, @NotNull ProgressIndicator indicator, @Nullable PsiElement context, @Nullable Supplier<String[]> allNamesProducer, @NotNull Processor<? super FoundItemDescriptor<?>> consumer, @NotNull FindSymbolParameters parameters) { boolean everywhere = parameters.isSearchInLibraries(); String pattern = parameters.getCompletePattern(); if (base.getProject() != null) { base.getProject().putUserData(ChooseByNamePopup.CURRENT_SEARCH_PATTERN, pattern); } String namePattern = getNamePattern(base, pattern); boolean preferStartMatches = !pattern.startsWith("*"); List<MatchResult> namesList = getSortedNamesForAllWildcards(base, parameters, indicator, allNamesProducer, namePattern, preferStartMatches); indicator.checkCanceled(); return processByNames(base, everywhere, indicator, context, consumer, namesList, parameters); }