src/main/java/com/googlecode/javaewah/IteratingBufferedRunningLengthWord.java
private static void discharge(final BufferedRunningLengthWord initialWord,
            final EWAHIterator iterator, final BitmapStorage container) {
        BufferedRunningLengthWord runningLengthWord = initialWord;
        for (; ; ) {
            final long runningLength = runningLengthWord.getRunningLength();
            container.addStreamOfEmptyWords(runningLengthWord.getRunningBit(), runningLength);
            container.addStreamOfLiteralWords(iterator.buffer(),
                    iterator.literalWords() + runningLengthWord.literalWordOffset,
                    runningLengthWord.getNumberOfLiteralWords()
            );
            if (!iterator.hasNext())
                break;
            runningLengthWord = new BufferedRunningLengthWord(iterator.next());
        }
    }
private static void discharge(final BufferedRunningLengthWord initialWord,
            final EWAHIterator iterator, final BitmapStorage container) {
        BufferedRunningLengthWord runningLengthWord = initialWord;
        for (; ; ) {
            final long runningLength = runningLengthWord.getRunningLength();
            container.addStreamOfEmptyWords(runningLengthWord.getRunningBit(), runningLength);
            container.addStreamOfLiteralWords(iterator.buffer(),
                    iterator.literalWords() + runningLengthWord.literalWordOffset,
                    runningLengthWord.getNumberOfLiteralWords()
            );
            if (!iterator.hasNext())
                break;
            runningLengthWord = new BufferedRunningLengthWord(iterator.next());
        }
    }
private static void discharge ( final BufferedRunningLengthWord initialWord , final EWAHIterator iterator , final BitmapStorage container ) { BufferedRunningLengthWord runningLengthWord = initialWord ; for ( ; ; ) { final long runningLength = runningLengthWord . getRunningLength ( ) ; container . addStreamOfEmptyWords ( runningLengthWord . getRunningBit ( ) , runningLength ) ; container . addStreamOfLiteralWords ( iterator . buffer ( ) , iterator . literalWords ( ) + runningLengthWord . literalWordOffset , runningLengthWord . getNumberOfLiteralWords ( ) ) ; if ( ! iterator . hasNext ( ) ) break ; runningLengthWord = new BufferedRunningLengthWord ( iterator . next ( ) ) ; } }
For internal use. (One could use the non-static discharge method
instead, but we expect them to be slower.)

@param initialWord the initial word
@param iterator    the iterator
@param container   the container
For internal use . ( One could use the non - static discharge method instead but we expect them to be slower . )