void (@NotNull AnActionEvent e) { BeforeRunTask<?> task = provider.createTask(myRunConfiguration); if (task == null) { return; } provider.configureTask(button.getDataContext(), myRunConfiguration, task) .onSuccess(changed -> { if (!provider.canExecuteTask(myRunConfiguration, task)) { return; } task.setEnabled(true); Set<RunConfiguration> configurationSet = CollectionFactory.createSmallMemoryFootprintSet(); getAllRunBeforeRuns(task, configurationSet); if (configurationSet.contains(myRunConfiguration)) { JOptionPane.showMessageDialog(BeforeRunStepsPanel.this, ExecutionBundle.message("before.launch.panel.cyclic_dependency_warning", myRunConfiguration.getName(), provider.getDescription(task)), ExecutionBundle.message("warning.common.title"), JOptionPane.WARNING_MESSAGE); return; } RunConfigurationOptionUsagesCollector.logAddBeforeRunTask( myRunConfiguration.getProject(), myRunConfiguration.getType().getId(), provider.getClass()); addTask(task); myListener.fireStepsBeforeRunChanged(); }); }