void (@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); } }