protected @NotNull Promise<@Nullable RunContentDescriptor> execute(@NotNull ExecutionEnvironment environment, @NotNull RunProfileState state)
    throws ExecutionException {
    return createSession(state, environment)
      .thenAsync(session -> AppUIExecutor.onUiThread().submit(() -> {
        initSession(session, state, environment.getExecutor());
        return session.getRunContentDescriptor();
      }));
  }
protected @NotNull Promise<@Nullable RunContentDescriptor> execute(@NotNull ExecutionEnvironment environment, @NotNull RunProfileState state)