/** * @see Iterator#hasNext() */ @Override public boolean hasNext() { while (next == null && super.hasNext()) next = nextIfNew(); return next != null; }
private void fill() { while ( top < buffer.length && super.hasNext() ) { buffer[top++] = super.next(); } }
/** Answer true iff there is at least one more acceptable object. [Stores reference into <code>current</code>, sets <code>canRemove</code> false; answer preserved in `hasCurrent`] */ @Override public boolean hasNext() { while (!hasCurrent && super.hasNext()) hasCurrent = accept( current = super.next() ); canRemove = false; return hasCurrent; }