// Path: src/main/java/com/googlecode/javaewah/CloneableIterator.java
// public interface CloneableIterator<E> extends Cloneable {
// 
//     /**
//      * @return whether there is more
//      */
//     boolean hasNext();
// 
//     /**
//      * @return the next element
//      */
//     E next();
// 
//     /**
//      * @return a copy
//      * @throws CloneNotSupportedException this should never happen in practice
//      */
//     CloneableIterator<E> clone() throws CloneNotSupportedException;
// 
// }


import com.googlecode.javaewah.CloneableIterator;
package com.googlecode.javaewah32;


/*
 * Copyright 2009-2016, Daniel Lemire, Cliff Moon, David McIntosh, Robert Becho, Google Inc., Veronika Zenz, Owen Kaser, Gregory Ssi-Yan-Kai, Rory Graves
 * Licensed under the Apache License, Version 2.0.
 */

/**
 * This class can be used to iterate over blocks of bitmap data.
 *
 * @author Daniel Lemire
 */
public class BufferedIterator32 implements IteratingRLW32, Cloneable {
    /**
     * Instantiates a new iterating buffered running length word.
     *
     * @param iterator iterator
     */
    public BufferedIterator32(
// Path: src/main/java/com/googlecode/javaewah/CloneableIterator.java
// public interface CloneableIterator<E> extends Cloneable {
// 
//     /**
//      * @return whether there is more
//      */
//     boolean hasNext();
// 
//     /**
//      * @return the next element
//      */
//     E next();
// 
//     /**
//      * @return a copy
//      * @throws CloneNotSupportedException this should never happen in practice
//      */
//     CloneableIterator<E> clone() throws CloneNotSupportedException;
// 
// }


// Path: src/main/java/com/googlecode/javaewah32/BufferedIterator32.java
import com.googlecode.javaewah.CloneableIterator;

package com.googlecode.javaewah32;


/*
 * Copyright 2009-2016, Daniel Lemire, Cliff Moon, David McIntosh, Robert Becho, Google Inc., Veronika Zenz, Owen Kaser, Gregory Ssi-Yan-Kai, Rory Graves
 * Licensed under the Apache License, Version 2.0.
 */

/**
 * This class can be used to iterate over blocks of bitmap data.
 *
 * @author Daniel Lemire
 */
public class BufferedIterator32 implements IteratingRLW32, Cloneable {
    /**
     * Instantiates a new iterating buffered running length word.
     *
     * @param iterator iterator
     */
    public BufferedIterator32(
            final CloneableIterator<EWAHIterator32> iterator) {