@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;
      }
    };
  }
@ 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 ; } } ; }
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