anchor.diff:        return;
       }
       // Append first two pages
  -    _container.append(_pages[0]);
  +    appendPageInContainer(0, _container);
       if (_pages.length > 1) {
  -      _container.append(_pages[1]);
  +      appendPageInContainer(1, _container);
       }
       _currentPageIndex = 0;
   
  -    _pageHeight = _pages[0].clientHeight;
  +    _pageHeight = _container.querySelector('.page').clientHeight;
       _container.style.height = '${pagesCount * _pageHeight}px';
       _container.parent.onMouseWheel.listen(_scrollHandler);
     }
  
positive.code: 
    /// The pages with the elements. We display maximum of three at a time:
    /// the current page, and one page beforehand and one page afterwards.
    List<DivElement> _pages;
  
    /// The total number of items to be displayed.
    int _itemCount;
  
negative.code:     int pagesCount = (_itemCount / itemsPerPage).ceil();
  
      for (int i = 0; i < pagesCount; i++) {
        List pageItems = [];
        _pages.add(pageItems);
  
        int start = i * itemsPerPage;
        int end = math.min((i + 1) * itemsPerPage, _itemDataList.length);
  
        for (int j = start; j < end; j++) {
          DivElement item = _itemElementFromData(_itemDataList[j]);
          pageItems.add(item);
        }
      }
  
  