import java.util.Iterator; class DoubleIterator implements Iterator{ private ListNode cursor,previous; public DoubleIterator(DoubleListNodeed list){ cursor=list.getFirst(); } public boolean hasNext(){ return (cursor != null && cursor.next !=null); } public Object next(){ cursor=cursor.next; return cursor.data; } public void remove(){ cursor.previous.next=cursor.next; cursor.next.previous=cursor.previous; } } public class DoubleListNodeed { private ListNode first; public ListNode getFirst(){ return first; } Iterator listIterator(){ return new DoubleIterator(this); } }