anchor.diff:        }
       }
   
  -    if (rowElement.children.length != 0) {
  +    if (rowElement.children.length == 0) {
         return;
       }
   
  
positive.code:       if (cacheEntry.cellRenderQueue.length > 0) {
          var lastChild = cacheEntry.rowNode.lastChild;
          while (cacheEntry.cellRenderQueue.length > 0) {
            var columnIdx = cacheEntry.cellRenderQueue.removeLast(); // TODO check if removefirst is the right replacement for pop()
            cacheEntry.cellNodesByColumnIdx[columnIdx] = lastChild;
            lastChild = lastChild.previousNode;
          }
  
negative.code:     int vScrollDist = (_scrollTop - _prevScrollTop).abs();
      int hScrollDist = (_scrollLeft - _prevScrollLeft).abs();
  
      if (hScrollDist != 0) {
        _prevScrollLeft = _scrollLeft;
        _headerScroller.scrollLeft = _scrollLeft;
        _topPanelScroller.scrollLeft = _scrollLeft;
        _headerRowScroller.scrollLeft = _scrollLeft;
      }
  
      if (vScrollDist != 0) {
        _vScrollDir = _prevScrollTop < _scrollTop ? 1 : -1;
        _prevScrollTop = _scrollTop;
  
  