anchor.diff:        }
         if (cell != null) {
           cell.dragOverlayVisible = true;
  -   
  -        //expand cell if it's a pausing drag hover
  -        new Timer(const Duration(milliseconds: 1000), () {
  +        
  +        if(_pendingExpansionUID != cell.nodeUID) {
  +          if(_pendingExpansionTimer != null) {
  +            _pendingExpansionTimer.cancel();
  +          }
  +        }
  +        //queue cell for expanding if it's a pausing drag hover
  +        _pendingExpansionUID = cell.nodeUID;
  +        _pendingExpansionTimer = new Timer(const Duration(milliseconds: 1000), () {
             if(_currentDragOverCell != null) {
               if(nodeUID == _currentDragOverCell.nodeUID) {
                 if(!isNodeExpanded(nodeUID)) {
  
positive.code:   TreeViewCell _currentDragOverCell;
    // Whether the user can drag a cell.
    bool draggingEnabled = false;
    // Unique identifier of the tree.
    String _uuid;
  
  
negative.code:     _listView = new ListView(element, this);
      _rows = null;
      _rowsMap = null;
      _pendingExpansionTimer = null;
      _pendingExpansionUID = null;
      reloadData();
    }
  
  