protected VarnodeContext saveOffCurrentContext(Address startAddr) {
		Language language = program.getLanguage();
		ProgramContext newValueContext = new ProgramContextImpl(language);
		ProgramContext newSpaceContext = new ProgramContextImpl(language);
		VarnodeContext newContext = new VarnodeContext(program, newValueContext, newSpaceContext, trackStartEndState);
		newContext.setDebug(debug);

		programContext = newValueContext;
		spaceContext = newSpaceContext;

		return newContext;
	}
Save off the current context and set the current context to a copy
This is done so that the values in the context are not changed, but can be used for computation.

@param startAddr
@return
Ghidra/Features/Base/src/main/java/ghidra/program/util/SymbolicPropogator.java