anchor.diff:    void paint(PaintingCanvas canvas, Offset offset) {
       canvas.save();
       canvas.clipRect(offset & size);
  -    super.paint(canvas, offset.translate(0.0, _startOffset));
  +    defaultPaint(canvas, offset.translate(0.0, startOffset));
       canvas.restore();
     }
   
  +  void hitTestChildren(HitTestResult result, { Point position }) {
  +    defaultHitTestChildren(result, position: position + new Offset(0.0, -startOffset));
  +  }
  +
   }
   
  
positive.code: 
    double getMaxIntrinsicHeight(BoxConstraints constraints) {
      return _getIntrinsicHeight(constraints);
    }
  
    bool _hasVisualOverflow = false;
  
negative.code:       return;
      _startOffset = value;
      if (!_inCallback)
        markNeedsPaint();
    }
  
    double getMinIntrinsicWidth(BoxConstraints constraints) {
  