@Test
	public void testBackwardFlowWithMultiBranchIntoDelaySlot() throws Exception {

		programBuilder.addBytesBranch(4, 14);

		programBuilder.addBytesFallthrough(10);
		programBuilder.addBytesBranchWithDelaySlot(12, 22);
		programBuilder.addBytesReturn(16);

		programBuilder.addBytesBranch(20, 14);
		programBuilder.addBytesFallthrough(22);
		programBuilder.addBytesReturn(24);

		programBuilder.disassemble(toHex(4), 2, false);
		programBuilder.disassemble(toHex(10), 6, false);
		programBuilder.disassemble(toHex(16), 2, false);
		programBuilder.disassemble(toHex(20), 6, false);

		Address addr = address(16);
		AddressSet addressSet = new AddressSet(addr);
		FollowFlow followFlow = new FollowFlow(program, addressSet, followAllFlows());
		AddressSet flowAddresses = followFlow.getFlowToAddressSet(TaskMonitor.DUMMY);

		AddressSet expectedAddresses = new AddressSet();
		expectedAddresses.add(address(4), address(5));
		expectedAddresses.add(address(14), address(17));
		expectedAddresses.add(address(20), address(21));

		assertEquals(new MySelection(expectedAddresses), new MySelection(flowAddresses));

	}
4: bral 14 ----+
                     |
     10: or          |
 +-- 12: brds   20   |
 | +>14: _or   <-----+     
 | | 16: ret
 | |        
 | +-20: bral 14   
 +-->22: or   
     24: ret   
    
multiple branches into delay slot
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/select/flow/FollowDelaySlotFlowTest.java