code: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots
    {
      if (process.env.NODE_ENV !== 'production') {
        if (internalInstance._debugID !== 0) {
          ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);
        }
      }
      var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);
      if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {
        transaction.getReactMountReady().enqueue(attachRefs, internalInstance);
      }
      if (process.env.NODE_ENV !== 'production') {
        if (internalInstance._debugID !== 0) {
          ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);
        }
      }
      return markup;
    }
docs: Initializes the component, renders markup, and registers event listeners.
  
  @param {ReactComponent} internalInstance
  @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
  @param {?object} the containing host component instance
  @param {?object} info about the host container
  @return {?string} Rendered markup to be inserted into the DOM.
  @final
  @internal