void () { final String pattern = getField().getText(); int index = myResultsList.getSelectedIndex(); //do nothing on attempt to execute empty command if (pattern.isEmpty() && index == -1) return; final RunAnythingSearchListModel model = getSearchingModel(myResultsList); if (index != -1 && model != null && isMoreItem(index)) { RunAnythingGroup group = model.findGroupByMoreIndex(index); if (group != null) { myCurrentWorker.doWhenProcessed(() -> { RunAnythingUsageCollector.Companion.triggerMoreStatistics(myProject, group, model.getClass()); RunAnythingSearchListModel listModel = (RunAnythingSearchListModel)myResultsList.getModel(); myCurrentWorker = insert(group, listModel, getDataContext(), getSearchPattern(), index, -1); myCurrentWorker.doWhenProcessed(() -> { clearSelection(); ScrollingUtil.selectItem(myResultsList, index); }); }); return; } } if (model != null) { RunAnythingUsageCollector.Companion.triggerExecCategoryStatistics(myProject, model.getGroups(), model.getClass(), index, myShiftIsPressed, myAltIsPressed); } RunAnythingUtil.executeMatched(getDataContext(), pattern); mySearchField.setText(""); searchFinishedHandler.run(); triggerUsed(); }