private void updateRunButton(@Nullable Executor executor, @Nullable RunnerAndConfigurationSettings selected) {
    myExecutor = executor;
    JBOptionButton button = (JBOptionButton)Objects.requireNonNull(getButton(Objects.requireNonNull(myRunAction)));
    button.setVisible(executor != null && myDataContext != null);
    button.setEnabled(executor != null && myDataContext != null);
    if (executor != null) {
      myRunAction.putValue(Action.NAME, executor.getActionName());
      button.setText(executor.getActionName());
      button.setIcon(executor.getIcon());
      myExecutorActions.forEach(action -> action.unregisterCustomShortcutSet(getContentPanel()));
      myExecutorActions.clear();
      if (selected == null) {
        return;
      }
      List<AnAction> actions = new ArrayList<>();
      RunConfigurationsComboBoxAction.forAllExecutors(o -> {
        if (o != executor) {
          actions.add(createAction(selected, o));
        }
      });
      button.setOptions(actions);
      ExecutorAction action = createAction(selected, executor);
      String tooltip = UIUtil.removeMnemonic(executor.getStartActionText(selected.getName())) +
                       " (" + KeymapUtil.getFirstKeyboardShortcutText(action) + ")";
      button.setToolTipText(tooltip);
    }
  }
private void updateRunButton(@Nullable Executor executor, @Nullable RunnerAndConfigurationSettings selected)