private void checkBaseRegister(Register reg) {
		Register baseRegister = register.getBaseRegister();
		if (reg.getBaseRegister() != baseRegister) {
			throw new IllegalArgumentException("Register " + reg.getName() +
				" does not share common base register " + baseRegister.getName());
		}
	}
Creates a new RegisterValue. 
The resulting value is a combination of this RegisterValue and the given RegisterValue,
where the given RegisterValue's value bits take precedence over this RegisterValue's value. 

Each value bit is determined as follows: 
If the mask bit in <code>otherValue</code> is "ON", then <code>otherValue</code>'s value bit is used. Otherwise,
<code>this</code> value bit used.

The mask bits are OR'd together to form the new mask bits. 

@param otherValue the currently stored mask and value bytes.  The base register must match the base register 
of this register value.
@return a new RegisterValue object containing the original value bits where the new array 
mask bits are "OFF" and the new value bits where the new array mask bits are "ON".
If the registers differ the resulting register value will be relative to the base register.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/RegisterValue.java