anchor.diff:  
     @override
     void _reassemble() {
  -    assert(_active); // otherwise markNeedsBuild is a no-op
       markNeedsBuild();
       super._reassemble();
     }
  
positive.code:   void scheduleBuildFor(BuildableElement element) {
      assert(element != null);
      assert(element.owner == this);
      assert(element._inDirtyList == _dirtyElements.contains(element));
      assert(() {
        if (debugPrintScheduleBuildForStacks)
          debugPrintStack(label: 'scheduleBuildFor() called for $element${_dirtyElements.contains(element) ? " (ALREADY IN LIST)" : ""}');
  
negative.code:   bool _active = false;
  
    void _reassemble() {
      visitChildren((Element child) {
        child._reassemble();
      });
    }
  
    bool _debugIsInScope(Element target) {
      Element current = this;
      while (current != null) {
        if (target == current)
          return true;
        current = current._parent;
      }
      return false;
    }
  
  