anchor.diff:  
     }
   
  -  getIndex(rect) {
  +  getIndex(Rectangle rect) {
   
       //  default is that rect doesn't fit, i.e. it straddles the internal quadrants
  -    var index = -1;
  +    int index = -1;
   
       if (rect.x < this.bounds.right && rect.right < this.bounds.right) {
         if (rect.y < this.bounds.bottom && rect.bottom < this.bounds.bottom) {
  
positive.code:   int maxObjects = 10;
    int maxLevels = 4;
    int level = 0;
   
    Bounds bounds = null;
  
    List<dynamic> objects = new List<dynamic>();
  
    List<QuadTree> nodes = new List<QuadTree>(4);
  
  
negative.code:         this.split();
        }
  
  //      //  Add objects to subnodes
  //      for (Body obj in this.objects) {
  //        index = this.getIndex(obj);
  //        if (index != -1) {
  //          //  this is expensive - see what we can do about it
  //          this.nodes[index].insert(obj);
  //        } else {
  //          this._removeCache.add(obj);
  //        }
  //      }
  //      this.objects.clear();
  //      this.objects.addAll(this._removeCache);
  //      this._removeCache.clear();
  
  
        //Add objects to subnodes
        while (i < this.objects.length) {
          index = this.getIndex(this.objects[i]);
  
  