A payload deserializer comes with its own working space (buffer). One need to
define the IndexReader and Term in which the payload resides.
The iterator then consumes the payload information of each document and
decodes it into categories. A typical use case of this class is:

hashCode

init

Initializes the iterator. This method must be called before any calls to
CategoryListIterator.skipTo(int), and its return value indicates whether there are
any relevant documents for this iterator. If it returns false, any call
to CategoryListIterator.skipTo(int) will return false as well.NOTE: calling this method twice may result in skipping over
documents for some implementations. Also, calling it again after all
documents were consumed may yield unexpected behavior.

skipTo

Skips forward to document docId. Returns true iff this document exists
and has any categories. This method must be called before calling
CategoryListIterator.nextCategory() for a particular document.NOTE: Users should call this method with increasing docIds, and
implementations can assume that this is the case.