Any warnings driven off of `warnAboutDeprecatedLifecycles` should use `shared/lowPriorityWarning` rather than `fbjs/lib/warning` to avoid thrashing automated tests.
const flatChildren = flattenTopLevelChildren(children);
    const topFrame: Frame = {
      type: null,
      
      
      domNamespace: Namespaces.html,
      children: flatChildren,
      childIndex: 0,
      context: emptyObject,
      footer: '',
    };
    if (__DEV__) {
      ((topFrame: any): FrameDev).debugElementStack = [];
    }
    this.stack = [topFrame];
    this.exhausted = false;
    this.currentSelectValue = null;
    this.previousWasTextNode = false;
    this.makeStaticMarkup = makeStaticMarkup;
    
    this.providerStack = []; 
    this.providerIndex = -1;
  }
  pushProvider<T>(provider: ReactProvider<T>): void {
    this.providerIndex += 1;
    this.providerStack[this.providerIndex] = provider;
    const context: ReactContext<any> = provider.type.context;
    context.currentValue = provider.props.value;
  }
  popProvider<T>(provider: ReactProvider<T>): void {