@Override
  public boolean canExecuteTask(@NotNull RunConfiguration configuration,
                                @NotNull RunConfigurableBeforeRunTask task) {
    RunnerAndConfigurationSettings settings = task.getSettingsWithTarget().first;
    if (settings == null) {
      return false;
    }

    String executorId = DefaultRunExecutor.getRunExecutorInstance().getId();
    ProgramRunner<?> runner = ProgramRunner.getRunner(executorId, settings.getConfiguration());
    return runner != null && runner.canRun(executorId, settings.getConfiguration());
  }
@Override
  public boolean canExecuteTask(@NotNull RunConfiguration configuration,
                                @NotNull RunConfigurableBeforeRunTask task)