void (AnActionButton button) { BeforeRunTaskAndProvider selection = getSelection(); if (selection == null) { return; } BeforeRunTask<?> task = selection.getTask(); if (!clonedTasks.contains(task)) { task = task.clone(); clonedTasks.add(task); myModel.setElementAt(task, selection.getIndex()); } RunConfigurationOptionUsagesCollector.logEditBeforeRunTask( myRunConfiguration.getProject(), myRunConfiguration.getType().getId(), task.getProviderId().getClass()); selection.getProvider().configureTask(button.getDataContext(), myRunConfiguration, task) .onSuccess(changed -> { if (changed) { updateText(); } }); }