anchor.diff:      _listView.selection = [];
   
       // Save expanded state.
  -    _expandedState = new HashSet();
  +    _expandedState = new Set();
       if (_rows != null) {
  -      // Save expanded state.
  -      _rows.forEach((TreeViewRow row) {
  -        if (row.expanded) {
  -          _expandedState.add(row.nodeUID);
  -        }
  -      });
  +      _expandedState = new Set.from(expandedState);
       }
   
       _fillRows();
  
positive.code:   }
  
    List<String> get expandedState {
      List<String> result = [];
      if (_rows != null) {
        // Save expanded state.
        _rows.forEach((TreeViewRow row) {
          if (row.expanded) {
            result.add(row.nodeUID);
          }
        });
      }
      return result;
    }
  
    void restoreExpandedState(List<String> expandedState) {
      // Save expanded state.
      _expandedState = new HashSet();
      _expandedState.addAll(expandedState);
  
      _fillRows();
      _expandedState.clear();
      _listView.reloadData();
  
negative.code:   // Map from node UID to info.
    Map<String, TreeViewRow> _rowsMap;
    // Saved expanded state of the nodes when reloading the content of the tree.
    Set<String> _expandedState;
    // When dragging over a cell the tree view, it's the highlighted cell.
    TreeViewCell _currentDragOverCell;
    // Whether the user can drag a cell.
  