private static int getByteCacheSize(InstructionPrototype prototype) {
		// NOTE: in certain cases this may not cache enough if slot size was
		// specified as a minimum and not actual
		int length = prototype.getLength();
		int delaySlotByteCount = prototype.getDelaySlotByteCount();
		if (delaySlotByteCount == 1) {
			// Assume this is a minimum size and cache enough for one 
			// more instruction of the same size.
			length += length;
		}
		else {
			// NOTE: This may have a problem if delaySlotByteCount is a
			// minimum byte count and more bytes are needed for delay slots.
			length += delaySlotByteCount;
		}
		// Sleigh utilizes 4-byte (int) chunks when evaluating patterns
		// make sure we have enough bytes to give out for any valid offset
		// within the instruction
		return length + 3;
	}
Construct a new PseudoInstruction without a program (flow override not supported).
@param addr address of the instruction
@param prototype prototype of the instruction
@param memBuffer buffer containing the bytes for the instruction
@param procContext processor state information during disassembly
@throws AddressOverflowException if code unit length causes wrap within space
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/util/PseudoInstruction.java