docs: public ExecutionImpl createExecution(boolean initializeExecutionStartContext) {
      // create the new child execution
      ExecutionImpl createdExecution = newExecution();
  
      // initialize sequence counter
      createdExecution.setSequenceCounter(getSequenceCounter());
  
      // manage the bidirectional parent-child relation
      createdExecution.setParent(this);
  
      // initialize the new execution
      createdExecution.setProcessDefinition(getProcessDefinition());
      createdExecution.setProcessInstance(getProcessInstance());
      createdExecution.setActivity(getActivity());
  
      // make created execution start in same activity instance
      createdExecution.activityInstanceId = activityInstanceId;
  
      // with the fix of CAM-9249 we presume that the parent and the child have the same startContext
      if (initializeExecutionStartContext) {
        createdExecution.setStartContext(new ExecutionStartContext());
      } else if (startContext != null) {
        createdExecution.setStartContext(startContext);
      }
  
      createdExecution.skipCustomListeners = this.skipCustomListeners;
      createdExecution.skipIoMapping = this.skipIoMapping;
  
      return createdExecution;
    }