code: @NotNull
  	@Override
  	public final MaterializedPromise<Void> startProcess() {
  		if (!processStarted) {
  			processStarted = true;
  			beforeProcess();
  			doProcess();
  		}
  		return processCompletion;
  	}
docs: Starts this communicating process if it is not started yet.
  Consistently executes {@link #beforeProcess()} and
  {@link #doProcess()}.
  
  @return {@code promise} with null result as the marker
  of completion of the process