@Test
	public void testFlowBranchFromDelaySlotInProgram() throws Exception {

		programBuilder.addBytesBranch(4, 14);

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

		programBuilder.addBytesReturn(20);

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

		Address addr = address(10);
		AddressSet addressSet = new AddressSet(addr);
		FlowType[] flowsNotToFollow = new FlowType[] {};
		FollowFlow followFlow = new FollowFlow(program, addressSet, flowsNotToFollow); // FollowAllFlows
		AddressSet flowAddresses = followFlow.getFlowAddressSet(TaskMonitor.DUMMY);

		AddressSet expectedAddresses = new AddressSet();
		expectedAddresses.add(address(10), address(15));
		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: ret   
    
branch into delay slot
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/select/flow/FollowDelaySlotFlowTest.java