code: public Iterator<E> iterator() {
  		
  		final Iterator<E> it = new Iterator<E>() {
  
  			@Override
  			public boolean hasNext() {
  				
  				return (index < size()); 
  			}
  
  			@Override
  			public E next() {
  				final E elem = get(index++);
  				
  				if (index >= size() && nextLink != null) {
  					getNextPage();
  				}
  				
  				return elem;
  			}
  
  			@Override
  			public void remove() {
  				// TODO Auto-generated method stub
  			}
  		};
  		return it;
  
  		// return super.iterator();
  	}
docs: Customer iterator calls out to BW API when there is more data to retrieve