anchor.diff:      @required SliverStaggeredGridDelegate gridDelegate,
     })  : assert(gridDelegate != null),
           _gridDelegate = gridDelegate,
  -        _viewportOffsets = new List<_ViewportOffsets>(),
  +        _pageSizeToViewportOffsets = new HashMap<double, SplayTreeMap<int, _ViewportOffsets>>(),
           super(childManager: childManager);
   
     @override
  
positive.code:     _gridDelegate = value;
    }
  
    List<_ViewportOffsets> _viewportOffsets;
  
    @override
    void performLayout() {
  
negative.code: 
  class _ViewportOffsets {
    _ViewportOffsets(
    List<double> mainAxisOffsets,
        this.trailingScrollOffset,
        [
        this.pageIndex = 0,
        this.firstChildIndex = 0,
      ]
    ) : this.mainAxisOffsets = new List.from(mainAxisOffsets);
  
    final int pageIndex;
  
    final int firstChildIndex;
  
    final double trailingScrollOffset;
  
    final List<double> mainAxisOffsets;
  
    @override
    String toString() => '[$pageIndex-$trailingScrollOffset] ($firstChildIndex, $mainAxisOffsets)';
  }
  
  /// Creates staggered grid layouts.
  