@Override public E next() { previous = node; node = node.getNext(); return ((ListNode<E>) node).getItem(); }
@Override public void remove() { previous.setNext(node.getNext()); node = previous; }
@Override public boolean hasNext() { return node.getNext() != null; }