/** * Gets an immutable version of a {@link ListIterator}. The returned object * will always throw an {@link UnsupportedOperationException} for * the {@link Iterator#remove}, {@link ListIterator#add} and * {@link ListIterator#set} methods. * * @param <E> the element type * @param listIterator the iterator to make immutable * @return an immutable version of the iterator */ public static <E> ListIterator<E> unmodifiableListIterator(final ListIterator<E> listIterator) { return UnmodifiableListIterator.umodifiableListIterator(listIterator); }
@Override public ListIterator<E> listIterator(final int index) { return UnmodifiableListIterator.umodifiableListIterator(decorated().listIterator(index)); }
@Override public ListIterator<K> listIterator(final int fromIndex) { return UnmodifiableListIterator.umodifiableListIterator(super.listIterator(fromIndex)); }
@Override public ListIterator<K> listIterator() { return UnmodifiableListIterator.umodifiableListIterator(super.listIterator()); }
@Override public ListIterator<E> listIterator() { return UnmodifiableListIterator.umodifiableListIterator(decorated().listIterator()); }