@Test
	public void testDisassemblerMultipath() throws Exception {

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

		programBuilder.addBytesFallthrough(20);
		programBuilder.addBytesBranch(22, 40);

		programBuilder.addBytesFallthrough(30);
		programBuilder.addBytesBranch(32, 40);

		programBuilder.addBytesReturn(40);

		AddressSetView disAddrs = disassembler.disassemble(addr(10), null);
		assertEquals(addrset(range(10, 15), range(20, 23), range(30, 33), range(40, 41)), disAddrs);

		verifyInstructionPresence();

		verifyNoBookmarks();

	}
+--10: breq 20 (start)
  |  12: call 30 --+
  |	14: ret       |
  |	              |
  +->	20: or        |
	 +--	22: bral 40   |
	 |	              |
	 |	30: or   <----+
	 |	32: bral 40 -+
	 |	             |
	 +->40: ret  <---+
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/program/disassemble/DisassemblerTest.java