private Register findSingleRegister(Varnode value) {
		if (value instanceof VarnodeOperation) {
			Register reg = null;
			for (Varnode input : ((VarnodeOperation)value).getInputValues()) {
				Register inputReg = findSingleRegister(input);
				if (inputReg != null) {
					if (reg != null && !reg.equals(inputReg)) {
						throw new MultipleRegInputsException();
					}
					reg = inputReg;
				}
			}
			return reg;
		}
		if (value.isAddress() || value.isRegister()) {
			return program.getRegister(value.getAddress(), value.getSize());
		}
		return null;
	}
@param op
@param dest
@param currentState
@param monitor
@return
Ghidra/Features/Base/src/main/java/ghidra/util/state/analysis/MySwitchAnalyzer.java