public static VisitorIterator createFromExplicitBucketSet(
            Set<BucketId> bucketsToVisit,
            int distributionBitCount,
            ProgressToken progress) {
        // For obvious reasons, always create an explicit source here
        BucketSource src = new ExplicitBucketSource(bucketsToVisit,
                distributionBitCount, progress);
        return new VisitorIterator(progress, src);
    }
Create a new <code>VisitorIterator</code> instance based on the given
set of buckets. This is supported for internal use only, and is required
by Synchronization. Use {@link #createFromDocumentSelection} instead for
all normal purposes.

@param bucketsToVisit The set of buckets that will be visited
@param distributionBitCount Number of distribution bits to use
@param progress A unique ProgressToken instance which is used for maintaining the state
of the iterator. Can <em>not</em> be shared with other iterator instances at the same time.
If <code>progress</code> contains work done in an earlier iteration run, the iterator will pick
up from where it left off
@return A new <code>VisitorIterator</code> instance
documentapi/src/main/java/com/yahoo/documentapi/VisitorIterator.java