void (@NotNull AnActionEvent e) { for (AnAction action : getChildActionsOrStubs()) { if (action instanceof ExecuteMavenRunConfigurationAction) { remove(action); } } Project project = e.getProject(); RunnerAndConfigurationSettings settings = e.getData(MavenDataKeys.RUN_CONFIGURATION); if (settings == null || project == null) { return; } @SuppressWarnings("DuplicatedCode") final List<Executor> executors = new ArrayList<>(); for (final Executor executor: Executor.EXECUTOR_EXTENSION_NAME.getExtensionList()) { if (executor instanceof ExecutorGroup) { executors.addAll(((ExecutorGroup<?>)executor).childExecutors()); } else { executors.add(executor); } } for (int i = executors.size(); --i >= 0; ) { Executor executor = executors.get(i); if (!executor.isApplicable(project)) { continue; } ProgramRunner<?> runner = ProgramRunner.getRunner(executor.getId(), settings.getConfiguration()); AnAction action = new ExecuteMavenRunConfigurationAction(executor, runner != null, settings); addAction(action, Constraints.FIRST); } super.update(e); }