public static @Nullable ExecutionEnvironment createExecutionEnvironment(@NotNull Project project,
                                                                          @NotNull ProjectSystemId externalSystemId,
                                                                          @NotNull ExternalSystemTaskExecutionSettings taskSettings,
                                                                          @NotNull String executorId) {
    var executor = ExecutorRegistry.getInstance().getExecutorById(executorId);
    if (executor == null) return null;

    var runnerId = getRunnerId(executorId);
    if (runnerId == null) return null;

    var runner = ProgramRunner.findRunnerById(runnerId);
    if (runner == null) return null;

    var settings = createExternalSystemRunnerAndConfigurationSettings(taskSettings, project, externalSystemId);
    if (settings == null) return null;

    return new ExecutionEnvironment(executor, runner, settings, project);
  }
public static @Nullable ExecutionEnvironment createExecutionEnvironment(@NotNull Project project,
                                                                          @NotNull ProjectSystemId externalSystemId,
                                                                          @NotNull ExternalSystemTaskExecutionSettings taskSettings,
                                                                          @NotNull String executorId)