code: function(rootID, transaction, context) {
      this._rootNodeID = rootID;
      assertValidProps(this._currentElement.props);
      var closeTag = omittedCloseTags[this._tag] ? '' : '</' + this._tag + '>';
      return (
        this._createOpenTagMarkupAndPutListeners(transaction) +
        this._createContentMarkup(transaction, context) +
        closeTag
      );
    }
docs: Generates root tag markup then recurses. This method has side effects and
  is not idempotent.
  
  @internal
  @param {string} rootID The root DOM ID for this node.
  @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
  @return {string} The computed markup.