@GwtCompatible public interface PeekingIterator<E> extends Iterator<E>
See the Guava User Guide article on PeekingIterator.
E peek()
Calls to peek() should not change the state of the iteration, except that it may prevent removal of the most recent element via remove().
NoSuchElementException - if the iteration has no more elements according to
Iterator.hasNext()
E next()
void remove()