return new Iterator<InstructionHandle>() { private ListIterator<InstructionHandle> realIter = instructionList.listIterator(instructionList.size());  public boolean hasNext() { return realIter.hasPrevious(); }  public InstructionHandle next() throws NoSuchElementException { return realIter.previous(); }  public void remove() { throw new UnsupportedOperationException(); } }; }
return new InstructionReverseIterator(lastInstruction, firstInstruction); }
    public Iterator<InstructionHandle> instructionReverseIterator() {	return new Iterator<InstructionHandle>() {	    private ListIterator<InstructionHandle> realIter = instructionList.listIterator(instructionList.size());	    public boolean hasNext() {		return realIter.hasPrevious();	    }	    public InstructionHandle next() throws NoSuchElementException {		return realIter.previous();	    }	    public void remove() {		throw new UnsupportedOperationException();	    }	};    }