src/main/java/com/googlecode/javaewah32/IteratorAggregation32.java
public static IteratingRLW32 bufferedxor(final int bufSize,
                                             final IteratingRLW32... al) {
        if (al.length == 0)
            throw new IllegalArgumentException(
                    "Need at least one iterator");
        if (al.length == 1)
            return al[0];

        final LinkedList<IteratingRLW32> basell = new LinkedList<IteratingRLW32>();
        Collections.addAll(basell, al);
        return new BufferedIterator32(new XORIt(basell, bufSize));
    }
public static IteratingRLW32 bufferedxor(final int bufSize,
                                             final IteratingRLW32... al) {
        if (al.length == 0)
            throw new IllegalArgumentException(
                    "Need at least one iterator");
        if (al.length == 1)
            return al[0];

        final LinkedList<IteratingRLW32> basell = new LinkedList<IteratingRLW32>();
        Collections.addAll(basell, al);
        return new BufferedIterator32(new XORIt(basell, bufSize));
    }
Aggregate the iterators using a bitmap buffer.

@param al      iterators to aggregate
@param bufSize size of the internal buffer used by the iterator in
64-bit words
@return xor aggregate