public RegisterValue getFlowContextValue(Address fromAddr, Address destAddr, boolean isFallThrough) {

		if (isFlowActive() && currentAddress.equals(destAddr)) {
			return contextRegisterValue;
		}

		RegisterValue nextContextRegisterValue = programContext.getFlowValue(contextRegisterValue); // strip non-flowing context

		// combine in any contextRegisterValue from the future flow state.
		RegisterValue futureContextRegisterValue = null;
		
		// get next context value within flow, combining current, future, previously stored and default context values
		Map<Register, RegisterValue> futureStateMap = getFutureRegisterStateMap(fromAddr, destAddr, false);
		
		if (futureStateMap != null) {
			futureContextRegisterValue = futureStateMap.get(contextRegister);
			nextContextRegisterValue =
				combineRegisterValues(nextContextRegisterValue, futureContextRegisterValue, true);
		}

		// combine any previously stored context with future state value
		RegisterValue preExistingContextRegisterValue =
			programContext.getDisassemblyContext(destAddr);
		if (isFallThrough) {
			preExistingContextRegisterValue =
				programContext.getNonFlowValue(preExistingContextRegisterValue);
		}
		nextContextRegisterValue =
			combineRegisterValues(preExistingContextRegisterValue, nextContextRegisterValue, true);

		// combine default context
		RegisterValue defaultValue = programContext.getDefaultValue(contextRegister, destAddr);
		nextContextRegisterValue =
			combineRegisterValues(defaultValue, nextContextRegisterValue, true);

		if (nextContextRegisterValue == null) {
			nextContextRegisterValue = new RegisterValue(contextRegister);
		}

		return nextContextRegisterValue;
	}
Get flowed context value at a destination address, that has been flowed from the fromAddr, without affecting state.

@param fromAddr address that this flow is flowing from.
@param destAddr the starting address of a new instruction flow.
@throws IllegalStateException if a previous flow was not ended.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/DisassemblerContextImpl.java