Patch sets liveDocs=null with a comment and proper javadocs.
While not related to this issue, I noticed that PayloadIterator copies the payload BytesRef to its own buffer. This, I think, is a remnant from the days where TP.getPayload took a byte. This is a redundant copy which must be eliminated.
Mike, I wonder if that'd speed things up (only a bit, I know)?
Anyway, I'm not at all sure that it's worth duplicating MultiDAPE's logic into this class. But at any rate, I think that this patch needs to be committed, to remove the redundant byte copies.
Also, I noticed that CategoryListIterator (and PayloadIterator) define an init() method which must be called prior to using them, and there's even a jdoc comment saying that calling it twice may skip over documents ... I don't think that we need it? Can't CLI impls initialize at ctor? At least, PayloadIterator can. I'll open a separate issue for that.