anchor.diff:        child = child.parentData.nextSibling;
       }
     }
  +  void _cleanRelayoutSubtreeRootChildren() {
  +    ChildType child = _firstChild;
  +    while (child != null) {
  +      child._cleanRelayoutSubtreeRoot();
  +      assert(child.parentData is ParentDataType);
  +      child = child.parentData.nextSibling;
  +    }
  +  }
   
     ChildType get firstChild => _firstChild;
     ChildType get lastChild => _lastChild;
  
positive.code:   void detachChildren() {
      if (_child != null)
        _child.detach();
    }
    String debugDescribeChildren(String prefix) {
      if (child != null)
  
negative.code:     assert(child != null);
      assert(child.parentData != null);
      child.parentData.detach();
      child._cleanRelayoutSubtreeRoot();
      super.dropChild(child);
      markNeedsLayout();
    }
  