@Test
	public void testGetInstructionsInSetBackwards() throws Exception {

		startTransaction();
		mem.removeBlock(mem.getBlock(addr(1000)), monitor);

		addBlocks("ramblockone", "B1", addr(0x44c));

		listing.clearCodeUnits(addr(0x44c), addr(0x476), false);
		parseStatic(addr(0x44c), addr(0x462));
		parseStatic(addr(0x466), addr(0x46f));
		parseStatic(addr(0x475), addr(0x476));
		endTransaction();

		assertNotNull(listing.getInstructionAt(addr(0x462)));
		AddressSet set = new AddressSet(addr(0x44f), addr(0x454));
		set.addRange(addr(0x45e), addr(0x45f));
		set.addRange(addr(0x462), addr(0x465));

		InstructionIterator iter = listing.getInstructions(set, false);
		assertTrue(iter.hasNext());
		Instruction inst = iter.next();
		assertEquals(addr(0x462), inst.getMinAddress());

		inst = iter.next();
		assertNotNull(inst);
		assertEquals(addr(0x45e), inst.getMinAddress());

		inst = iter.next();
		assertNotNull(inst);
		assertEquals(addr(0x454), inst.getMinAddress());

		inst = iter.next();
		assertNotNull(inst);
		assertEquals(addr(0x452), inst.getMinAddress());

		inst = iter.next();
		assertNotNull(inst);
		assertEquals(addr(0x450), inst.getMinAddress());

		assertTrue(!iter.hasNext());
		assertNull(iter.next());
	}
** Diagnostic Aid ** Open program in tool
@throws Exception
Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/code/CodeUnitIteratorTest.java