public Iterator iterator()

in src/main/java/com/twitter/whiskey/futures/ReactiveFuture.java [172:191]


    public Iterator<E> iterator() {

        StreamingIterator i;
        if (streaming && !drained) {
            synchronized (this) {
                if (streaming && !drained) {
                    drained = true;
                    i = new StreamingIterator(drain().iterator());
                    if (isDone()) i.queue(SENTINEL);
                    iterators.add(i);
                    return i;
                }
            }
        }

        i = new StreamingIterator(null);
        if (isDone()) i.queue(SENTINEL);
        iterators.add(i);
        return i;
    }