@Override
  protected @NotNull JComponent createEditor() {
    ToolbarDecorator decorator = ToolbarDecorator.createDecorator(myList)
      .setToolbarPosition(ActionToolbarPosition.TOP)
      .setPanelBorder(JBUI.Borders.empty())
      .disableUpDownActions();
    decorator.setAddAction(new AnActionButtonRunnable() {
      @Override
      public void run(AnActionButton button) {
        List<RunConfiguration> configurations = new ArrayList<>();
        for (RunnerAndConfigurationSettings settings : myRunManager.getAllSettings()) {
          RunConfiguration configuration = settings.getConfiguration();
          if (!mySnapshot.getConfigurationsWithTargets(myRunManager).containsKey(configuration) && canBeAdded(configuration, mySnapshot)) {
            configurations.add(configuration);
          }
        }

        ConfigurationSelectionUtil.createPopup(myProject, myRunManager, configurations, (selectedConfigs, selectedTarget) -> {
          for (RunConfiguration each : selectedConfigs) {
            myModel.add(Pair.create(each, selectedTarget));
          }
        }).showUnderneathOf(decorator.getActionsPanel());
      }
    }).setEditAction(new AnActionButtonRunnable() {
      @Override
      public void run(AnActionButton button) {
        int index = myList.getSelectedIndex();
        if (index == -1) return;
        RunConfiguration configuration = myModel.get(index).first;
        RunConfigurationSelector selector =
          RunConfigurationSelector.KEY.getData(DataManager.getInstance().getDataContext(button.getContextComponent()));
        if (selector != null) {
          selector.select(configuration);
        }
      }
    });
    return decorator.createPanel();
  }
@Override
  protected @NotNull JComponent createEditor()