code: @Override
    public Iterator<Page<T>> iterator() {
  
      return new Iterator<Page<T>>() {
  
        int currentIndex = 0;
        int currentPageNumber = 1;
        int pageSize = getPageSize();
  
        @Override
        public boolean hasNext() {
          return this.currentIndex < getList().size();
        }
  
        @Override
        public Page<T> next() {
  
          Assert.isTrue(hasNext(), new NoSuchElementException("No more pages"));
  
          Page<T> page = SimplePage.of(SimplePageable.this, this.currentPageNumber);
  
          this.currentIndex += this.pageSize;
          this.currentPageNumber++;
  
          return page;
        }
      };
    }
docs: Iterates over the {@link Page Pages} contained in this {@link Pageable object}.
  
  @return an {@link Iterator} over the {@link Page Pages} contained in this {@link Pageable object}.
  @see java.util.Iterator