@Override
  public void actionPerformed(@NotNull AnActionEvent e) {
    final Project project = e.getData(CommonDataKeys.PROJECT);
    if (project == null) return;

    final RunContentDescriptor contentDescriptor = e.getData(LangDataKeys.RUN_CONTENT_DESCRIPTOR);
    if (contentDescriptor != null) {
      final RunningApplicationUpdater updater = findUpdater(project, contentDescriptor.getProcessHandler());

      if (updater != null) {
        updater.performUpdate(e);
        return;
      }
    }

    final List<RunningApplicationUpdater> updaters = getAvailableUpdaters(project);
    if (updaters.isEmpty()) return;

    if (updaters.size() > 1) {
      final ListPopup popup =
        JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep<>(
          ExecutionBundle.message("popup.title.select.process.to.update"), updaters) {
          @Override
          public @NotNull String getTextFor(RunningApplicationUpdater value) {
            return value.getShortName();
          }

          @Override
          public Icon getIconFor(RunningApplicationUpdater value) {
            return value.getIcon();
          }

          @Override
          public PopupStep<?> onChosen(final RunningApplicationUpdater selectedValue, boolean finalChoice) {
            return doFinalStep(() -> selectedValue.performUpdate(e));
          }
        });
      popup.showCenteredInCurrentWindow(project);
    }
    else {
      updaters.get(0).performUpdate(e);
    }
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)