private MaskValue buildSingleInstructionMask(MaskValue mnemonic) {

		byte[] mnemonicMask = mnemonic.getMask();
		byte[] mnemonicValue = mnemonic.getValue();

		MaskValue result =
			new MaskValue(new byte[mnemonicMask.length], new byte[mnemonicValue.length]);

		// Applies the mnemonic's value and mask if needed.
		result.orMask(mnemonicMask);
		result.orValue(mnemonicValue);

		if (!maskControl.useOperands()) {
			return result;
		}

		for (int i = 0; i < ops.size(); i++) {
			Map<MaskValue, OperandMaskValue> opMap = ops.get(i);
			if (opMap != null) {
				OperandMaskValue op = opMap.get(mnemonic);
				addToMask(op, result);
			}
		}

		return result;
	}
Builds the mask and value byte streams for a single instruction that is
represented by the mnemonic entered into the first parameter.

That mnemonic is used as a key to withdrawal the operands from the
data-structure and the SLMaskControl contains the filter information to
be applied to the instruction.

@param mnemonic
@return
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/mnemonic/MaskGenerator.java