@Test
	public void testDisassemblerRestricted() throws Exception {

		programBuilder.addBytesCall(10, 30);
		programBuilder.addBytesBranchConditional(12, 20);
		programBuilder.addBytesReturn(14);
		programBuilder.addBytesReturn(16);

		programBuilder.addBytesBranchConditional(20, 16);
		programBuilder.addBytesReturn(22);

		programBuilder.addBytesReturn(30);

		AddressSet restrictSet = addrset(range(0, 19));

		AddressSetView disAddrs = disassembler.disassemble(addr(10), restrictSet);
		assertEquals(addrset(range(10, 15)), disAddrs);

		verifyInstructionPresence(CollectionUtils.asSet(addr(16), addr(20), addr(22), addr(30)));

		verifyNoBookmarks();

	}
10: call 30 ----+ (start)
    12: breq 20 --+ |
    14: ret       | |
+-> 16: ret       | | (should not disassemble)
|  ^^ restrict ^^ | |
|                 | |
+-- 20: breq 16 <-+ | (should not disassemble)
    22: ret         | (should not disassemble)
                    |
    30: ret     <---+ (should not disassemble)
    
Test restricted disassembly
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/program/disassemble/DisassemblerTest.java