private void executeCommand() {
    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.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.triggerExecCategoryStatistics(myProject, model.getGroups(), model.getClass(), index,
                                                                        myShiftIsPressed, myAltIsPressed);
    }
    RunAnythingUtil.executeMatched(getDataContext(), pattern);

    mySearchField.setText("");
    searchFinishedHandler.run();
    triggerUsed();
  }
private void executeCommand()