Item () { if (it.hasNext()) return it.next(); if (wrapped) return stop(); wrapped = true; it = JBIterator.from(iterate(null, fwd)).takeWhile(item -> item != start); return it.hasNext() ? it.next() : stop(); }