public static void setBuildArtifactBeforeRunOption(
     @NotNull JComponent runConfigurationEditorComponent,
     Project project,
     @NotNull Artifact artifact,
     final boolean enable) {
   final DataContext dataContext =
       DataManager.getInstance().getDataContext(runConfigurationEditorComponent);
   final ConfigurationSettingsEditorWrapper editor =
       ConfigurationSettingsEditorWrapper.CONFIGURATION_EDITOR_KEY.getData(dataContext);
   if (editor != null) {
     List<BeforeRunTask> tasks = editor.getStepsBeforeLaunch();
     List<AbstractArtifactsBeforeRunTask> myTasks =
         new ArrayList<AbstractArtifactsBeforeRunTask>();
     for (BeforeRunTask task : tasks) {
       if (task instanceof AbstractArtifactsBeforeRunTask) {
         myTasks.add((AbstractArtifactsBeforeRunTask) task);
       }
     }
     if (enable && myTasks.isEmpty()) {
       AbstractArtifactsBeforeRunTask task = new BuildArtifactsBeforeRunTask(project);
       task.addArtifact(artifact);
       task.setEnabled(true);
       editor.addBeforeLaunchStep(task);
     } else {
       for (AbstractArtifactsBeforeRunTask task : myTasks) {
         if (enable) {
           task.addArtifact(artifact);
           task.setEnabled(true);
         } else {
           task.removeArtifact(artifact);
           if (task.getArtifactPointers().isEmpty()) {
             task.setEnabled(false);
           }
         }
       }
     }
   }
 }