Implementing SeekableIterator and unit tests for testing and some small changes