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

        final LinkedList<IteratingRLW> basell = new LinkedList<IteratingRLW>();
        Collections.addAll(basell, al);

        return new BufferedIterator(new BufferedXORIterator(basell, bufSize));
    }
public static IteratingRLW bufferedxor(final int bufSize, final IteratingRLW... al) {
        if (al.length == 0)
            throw new IllegalArgumentException("Need at least one iterator");
        if (al.length == 1)
            return al[0];

        final LinkedList<IteratingRLW> basell = new LinkedList<IteratingRLW>();
        Collections.addAll(basell, al);

        return new BufferedIterator(new BufferedXORIterator(basell, bufSize));
    }
public static IteratingRLW bufferedxor ( final int bufSize , final IteratingRLW ... al ) { if ( al . length == 0 ) throw new IllegalArgumentException ( "Need at least one iterator" ) ; if ( al . length == 1 ) return al [ 0 ] ; final LinkedList < IteratingRLW > basell = new LinkedList < IteratingRLW > ( ) ; Collections . addAll ( basell , al ) ; return new BufferedIterator ( new BufferedXORIterator ( 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
Aggregate the iterators using a bitmap buffer .