@Override public void remove() { set.remove(last); getIterator().remove(); last = null; }
@Override public E previous() { last = ((ListIterator<E>) getIterator()).previous(); return last; } }
@Override public E next() { last = getIterator().next(); return last; }
@Override public OrderedIterator<E> iterator() { return new OrderedSetIterator<>(setOrder.listIterator(), decorated()); }
@Override public boolean hasPrevious() { return ((ListIterator<E>) getIterator()).hasPrevious(); }