anchor.diff:        if (_currentPageIndex != _pages.length - 1) {
           nodeToRemoveIndex = math.min(_currentPageIndex + 1, _pages.length - 1);
         }
  -      if (_currentPageIndex != 0) {
  +      if (newPageIndex != 0) {
           nodeToAddIndex = math.max(newPageIndex - 1, 0);
           prependInsteadOfAdd = true;
         }
  
positive.code:     int pagesCount = (_itemCount / itemsPerPage).ceil();
  
      for (int i = 0; i < pagesCount; i++) {
        DivElement page = _blankDiv();
        page.classes.add('page');
        page.style.height = 'auto';
        page.attributes['data-infinity-page'] = '${i}';
        _pages.add(page);
  
        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]);
          page.append(item);
        }
      }
  
  
negative.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<List<DivElement>> _pages;
  
    /// The total number of items to be displayed.
    int _itemCount;
  