IteratorSlotted implements Iterator<T> { @Override public final boolean hasNext() { if ( finished ) return false ; if ( slotIsSet ) return true ; boolean r = hasMore() ; if ( ! r ) { close() ; return false ; } slot = moveToNext() ; if ( slot == null ) { close() ; return false ; } slotIsSet = true ; return true ; } protected  IteratorSlotted(); @Override final boolean hasNext(); @Override final T next(); final T peek(); final T peek(T dft); @Override final void remove(); final void close();  }
@Test public void iter_01() { IteratorSlotted<String> iter = factory.create() ; assertFalse(iter.hasNext()) ; }