int i = 0;
    public Iterator iterator() {		return new Iterator() {			TNode t = first;			int i = 0;			public boolean hasNext() {				return t != last;			}			public Object next() {				if (t == last)					throw new ArrayIndexOutOfBoundsException();				return t = t.next;			}			public void remove() {				throw new UnsupportedOperationException("remove");			}		};	}