@NotNull
  protected Promise<@Nullable RunContentDescriptor> doExecuteAsync(@NotNull TargetEnvironmentAwareRunProfileState state,
                                                                   @NotNull ExecutionEnvironment env)
    throws ExecutionException {
    FileDocumentManager.getInstance().saveAllDocuments();
    return state.prepareTargetToCommandExecution(env, LOG, "Failed to execute debug configuration async", () -> {
      if (state instanceof JavaCommandLine) {
        JavaProgramPatcher.runCustomPatchers(((JavaCommandLine)state).getJavaParameters(), env.getExecutor(), env.getRunProfile());
      }
      return createContentDescriptor(state, env);
    });
  }
@NotNull
  protected Promise<@Nullable RunContentDescriptor> doExecuteAsync(@NotNull TargetEnvironmentAwareRunProfileState state,
                                                                   @NotNull ExecutionEnvironment env)