@Override
	public int getFallThroughOffset(InstructionContext context) {
		if (delaySlotByteCnt <= 0) {
			return getLength();
		}

		try {
			int offset = getLength();
			int bytecount = 0;
			ReadOnlyProcessorContext roContext =
				new ReadOnlyProcessorContext(context.getProcessorContext());
			do {
				MemBuffer delaymem = new WrappedMemBuffer(context.getMemBuffer(), offset);
				SleighInstructionPrototype proto =
					(SleighInstructionPrototype) language.parse(delaymem, roContext, true);
				int len = proto.getLength();
				offset += len;
				bytecount += len;
			}
			while (bytecount < delaySlotByteCnt);
			return offset;
		}
		catch (Exception e) {
			return getLength();
		}
	}
Walk the Constructor tree gathering ConstructStates which are flow destinations
(flowStateList) flowFlags and delayslot directives
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/SleighInstructionPrototype.java