public AssemblyPatternBlock maskOut(ContextOp cop) {
		byte[] newMask = Arrays.copyOf(this.mask, this.mask.length);
		byte[] newVals = Arrays.copyOf(this.vals, this.vals.length);
		int idx = cop.getWordIndex();
		int imsk = cop.getMask();
		for (int i = 3; i >= 0; i--) {
			byte bmsk = (byte) ~(imsk & 0xff); // Inverse: Getting ready to unset
			int index = idx * 4 + i - offset;
			// feels a little hacky, but if non-existent is assumed zero,
			// this should be fine
			if (index < newMask.length && index >= 0) {
				newMask[index] &= bmsk;
				newVals[index] &= bmsk; // for good measure
			}
			imsk >>= 8;
		}
		return new AssemblyPatternBlock(offset, newMask, newVals);
	}
Set all bits read by a given context operation to unknown

<p>
This is used during resolution to remove a context requirement passed upward by a child. When
a parent constructor writes the required value to the context register, that requirement need
not be passed further upward, since the write satisfies the requirement.

@param cop the context operation
@return the result
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/sem/AssemblyPatternBlock.java