@Override public boolean hasNext() { return AbstractStream.this.hasNext(); }
@Override public R next() { return mapper.apply(AbstractStream.this.next()); } };
@Override public boolean hasNext() { if (current != null && currentIndex >= current.size()) { current = null; currentIndex = 0; } if (current == null) { if (AbstractStream.this.hasNext()) { for (final T obj : AbstractStream.this) { final List<R> list = mapper.apply(obj); if (list != null && list.size() > 0) { current = list; currentIndex = 0; return true; } } } return false; } return true; }