anchor.diff:      assert(child is RenderSector);
       assert(child.parentData is SectorParentData);
       assert(!constraints.isInfinite);
  -    double maxChildDeltaRadius = math.max(constraints.maxWidth, constraints.maxHeight) / 2.0 - innerRadius;
  +    double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.maxHeight) / 2.0 - innerRadius;
       SectorDimensions childDimensions = child.getIntrinsicDimensions(new SectorConstraints(maxDeltaRadius: maxChildDeltaRadius), innerRadius);
       double dimension = (innerRadius + childDimensions.deltaRadius) * 2.0;
       return new BoxDimensions.withConstraints(constraints, width: dimension, height: dimension);
  
positive.code:       ourDimensions = new BoxDimensions.withConstraints(constraints, width: 0.0, height: 0.0);
      } else {
        assert(child is RenderSector);
        assert(child.parentData is SectorParentData);
        assert(!constraints.isInfinite);
        double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.maxHeight) / 2.0 - innerRadius;
        child.layout(new SectorConstraints(maxDeltaRadius: maxChildDeltaRadius), innerRadius, relayoutSubtreeRoot: relayoutSubtreeRoot);
        double dimension = (innerRadius + child.deltaRadius) * 2.0;
        ourDimensions = new BoxDimensions.withConstraints(constraints, width: dimension, height: dimension);
      }
      width = ourDimensions.width;
      height = ourDimensions.height;
      print("adapter is: ${width}x${height}");
      layoutDone();
    }
  
  
negative.code:   double _padding;
    double get padding => _padding;
    void set padding(double value) {
      // TODO(ianh): avoid code duplication
      assert(value != null);
      if (_padding != value) {
        _padding = value;
  