T - the type of elements returned by this CloseableIterator.public interface CloseableIterator<T>
extends java.util.Iterator<T>, java.lang.AutoCloseable
Iterator that is also an AutoCloseable.
This interface is meant to be used in places where an Iterator contains state that is required to be
cleared irrespective of whether data from the Iterator is completely consumed
(i.e. Iterator.hasNext() is called till it returns false) or not.
This interface provides a way for a user of such an Iterator to discard data, by calling
AutoCloseable.close().
When using CloseableIterator, it is expected that the user will either consume all the data from the
Iterator or explicitly call AutoCloseable.close() to dispose the remaining data.