anchor.diff:    void paint(RenderObjectDisplayList canvas) {
       super.paint(canvas);
       if (child != null) {
  -      sky.Rect bounds = new sky.Rect.fromSize(size);
  +      Rect bounds = new Rect.fromSize(size);
         canvas.paintChild(child, bounds.center);
       }
     }
   
  -  bool hitTest(HitTestResult result, { sky.Point position }) {
  +  bool hitTest(HitTestResult result, { Point position }) {
       double x = position.x;
       double y = position.y;
       if (child == null)
  
positive.code:       child.parentData.theta = 0.0;
        child.layout(new SectorConstraints(maxDeltaRadius: maxChildDeltaRadius), parentUsesSize: true);
        double dimension = (innerRadius + child.deltaRadius) * 2.0;
        size = constraints.constrain(new sky.Size(dimension, dimension));
      }
    }
  
  
negative.code: void main() {
  
    var rootCircle = new RenderSectorRing(padding: 20.0);
    rootCircle.add(new RenderSolidColor(const Color(0xFF00FFFF), desiredDeltaTheta: kTwoPi * 0.15));
    rootCircle.add(new RenderSolidColor(const Color(0xFF0000FF), desiredDeltaTheta: kTwoPi * 0.4));
    var stack = new RenderSectorSlice(padding: 2.0);
    stack.add(new RenderSolidColor(const Color(0xFFFFFF00), desiredDeltaRadius: 20.0));
    stack.add(new RenderSolidColor(const Color(0xFFFF9000), desiredDeltaRadius: 20.0));
    stack.add(new RenderSolidColor(const Color(0xFF00FF00)));
    rootCircle.add(stack);
  
    var root = new RenderBoxToRenderSectorAdapter(innerRadius: 50.0, child: rootCircle);
  