protected RunContentDescriptor doExecute(@NotNull RunProfileState state, @NotNull ExecutionEnvironment env) throws ExecutionException {
    FileDocumentManager.getInstance().saveAllDocuments();
    ProcessProxy proxy = null;
    if (state instanceof JavaCommandLine) {
      if (!JavaProgramPatcher.patchJavaCommandLineParamsUnderProgress(env.getProject(), 
                                                                      () -> patchJavaCommandLineParams((JavaCommandLine)state, env))){
        return null;
      }
      proxy = ProcessProxyFactory.getInstance().createCommandLineProxy((JavaCommandLine)state);
    }
    return executeJavaState(state, env, proxy);
  }
protected RunContentDescriptor doExecute(@NotNull RunProfileState state, @NotNull ExecutionEnvironment env)