PeekableIterator

Implement PeekableIterator