@Override
	public void branched(Address address) {
		/**
		 * There may be internal branching within a decoded block. Those shouldn't clear the block.
		 * However, if the cached instruction's context does not match the desired one, assume we're
		 * starting a new block. That check will have to wait for the decode call, though.
		 */
		if (block == null || block.getInstructionAt(address) == null) {
			block = null;
		}
	}
Parse as few instructions as possible. If more are returned, it's because they form a
parallel instruction group. In that case, I should not have to worry self-modifying code
within that group, so no need to re-disassemble after each is executed.
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/emu/SleighInstructionDecoder.java