void (@NotNull String pattern, @NotNull ProgressIndicator progressIndicator, @NotNull Processor<? super FoundItemDescriptor<GotoActionModel.MatchedValue>> consumer) { if (StringUtil.isEmptyOrSpaces(pattern)) { if (isRecentEnabled()) { if (!SearchEverywhereManagerImpl.ALL_CONTRIBUTORS_GROUP_ID.equals( SearchEverywhereManager.getInstance(myProject).getSelectedTabID())) { Set<String> actionIDs = ActionHistoryManager.getInstance().getState().getIds(); Predicate<GotoActionModel.MatchedValue> actionDegreePredicate = element -> { if (!myDisabledActions && !((GotoActionModel.ActionWrapper)element.value).isAvailable()) return true; AnAction action = getAction(element); if (action == null) return true; String id = ActionManager.getInstance().getId(action); int degree = actionIDs.stream().toList().indexOf(id); return consumer.process(new FoundItemDescriptor<>(element, degree)); }; ProgressManager.getInstance().runProcess(() -> { myProvider.processActions(pattern, new HashSet<>(actionIDs), actionDegreePredicate); }, progressIndicator); } } return; } ProgressManager.getInstance().runProcess(() -> { LOG.debug("Start actions search"); myProvider.filterElements(pattern, element -> { if (element == null) { LOG.error("Null action has been returned from model"); return true; } final boolean isActionWrapper = element.value instanceof GotoActionModel.ActionWrapper; if (!myDisabledActions && isActionWrapper && !((GotoActionModel.ActionWrapper)element.value).isAvailable()) { return true; } final var descriptor = new FoundItemDescriptor<>(element, element.getMatchingDegree()); return consumer.process(descriptor); }); }, progressIndicator); }