code: @Pure
  	public Iterator<P> iterator(Rectangle2afp<?, ?, ?, ?, ?, ?> bounds) {
  		if (this.bounds.intersects(bounds)) {
  			final int c1 = getColumnFor(bounds.getMinX());
  			final int r1 = getRowFor(bounds.getMinY());
  			final int c2 = getColumnFor(bounds.getMaxX());
  			final int r2 = getRowFor(bounds.getMaxY());
  			return new BoundedElementIterator(new CellIterator(r1, c1, r2, c2, false), -1, bounds);
  		}
  		return Collections.<P>emptyList().iterator();
  	}
docs: Replies the elements that are inside the cells intersecting the
  specified bounds.
  
  @param bounds the bounds.
  @return the iterator on the elements.