private boolean _hasNext() throws E { if (this.itemIterator != null && this.itemIterator.hasNext()) { return true; } while (this.iterator.hasNext()) { final I i = this.iterator.next(); if (this.acceptor.accept(i) && (this.itemIterator = this.converter.convert(i).iterator()) != null) { return true; } } return false; }
@Override public boolean hasNext() throws E { while (this.iterator.hasNext()) { final O i = this.iterator.next(); if (acceptor.accept(i) && (this.item = i) != null) { return true; } } return false; }
@Override public boolean hasNext() throws E { while (this.iterator.hasNext()) { final T i = this.iterator.next(); if (this.acceptor.accept(i) && (this.item = i) != null) { return true; } } return false; }
@Override public boolean hasNext() throws E { while (this.iterator.hasNext()) { final T i = this.iterator.next(); if (this.acceptor.accept(i) && i != null) { this.item = i; return true; } } return false; }
default void foreach(final IConsumer<O, E> consumer) throws E { final IIterator<O, E> iterator = this.iterator(); while (iterator.hasNext()) { final O value = iterator.next(); consumer.consume(value); } }
default O first(final IAcceptor<O> acceptor) throws E { final IIterator<O, E> iterator = this.iterator(); while (iterator.hasNext()) { final O value = iterator.next(); if (acceptor.accept(value)) { return value; } } return null; }
@Override public boolean hasNext() throws E { while (this.iterator.hasNext()) { final I i = this.iterator.next(); if (this.acceptor.accept(i) && (this.item = this.converter.convert(i)) != null) { return true; } } return false; }
default <R> R aggregate(final R identity, final IAggregator<R, O, R, E> adder) throws E { final IIterator<O, E> iterator = this.iterator(); R result = identity; while (iterator.hasNext()) { result = adder.aggregate(result, iterator.next()); } return result; }
@Override public boolean hasNext() throws E { while (this.iterator.hasNext()) { final I i = this.iterator.next(); if (this.acceptor.accept(i) && (this.item = this.converter.convert(i)) != null) { return true; } } return false; }
@Override public boolean hasNext() throws E { while (this.iterator.hasNext()) { final I i = this.iterator.next(); if (this.acceptor.accept(i) && (this.item = this.aggegator.aggregate(this.counter.next(), i)) != null) { return true; } } return false; }
default void foreach(final IAssimilator<Integer, O, E> assimilator) throws E { final IIterator<O, E> iterator = this.iterator(); final IntCounter counter = new IntCounter(-1); while (iterator.hasNext()) { final O value = iterator.next(); assimilator.assimilate(counter.next(), value); } }