anchor.diff:    }
   
     // abstract
  -  void drawOverride(CanvasRenderingContext2D ctx){
  -    throw "should override in subclass";
  -  }
  +  abstract void drawOverride(CanvasRenderingContext2D ctx);
   
     void invalidateDraw(){
       if(_lastDrawSize != null){
  
positive.code:   //
  
    void drawInternal(CanvasRenderingContext2D ctx){
      // until we ar rocking caching, just draw normal
      _drawNormal(ctx);
    }
  
    void _drawNormal(CanvasRenderingContext2D ctx){
  
negative.code:   final List<core.AffineTransform> _transforms;
    final bool cacheEnabled;
    final core.EventHandle<core.EventArgs> _updatedEventHandle;
    CanvasElement _cacheCanvas;
  
    num _width, _height, _alpha;
    core.Size _lastDrawSize;
  