@Override
	public void remove(Address start, Address end, Register register)
			throws ContextChangeException {
		lock.acquire();
		boolean restore = false;
		try {
			checkContextWrite(register, start, end);
			restore = !changing; // indicates that we just initiated a change
			changing = true;
			super.remove(start, end, register);
			if (program != null) {
				program.setRegisterValuesChanged(register, start, end);
			}
		}
		finally {
			if (restore) {
				changing = false;
			}
			lock.release();
		}
	}
Intialize context with default values defined by pspec and cspec.
NOTE: cspec values take precedence
@param lang processor language
@param compilerSpec compiler specification
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/register/ProgramRegisterContextDB.java