function validateDangerousTag(tag) {
  if (!hasOwnProperty.call(validatedTagCache, tag)) {
    !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0;
    validatedTagCache[tag] = true;
  }
}
Generates root tag markup then recurses. This method has side effects and
is not idempotent.

@internal
@param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
@param {?ReactDOMComponent} the parent component instance
@param {?object} info about the host container
@param {object} context
@return {string} The computed markup.