public void propogateResults(boolean clearContext) {

		Iterator<Varnode> iterator = clearVals.iterator();
		while (iterator.hasNext()) {
			Varnode node = iterator.next();
			Register reg = trans.getRegister(node);
			if (reg == null) {
				continue;
			}
			if (debug) {
				Msg.info(this, "      " + reg.getName() + "<-" + " Clear");
			}
			clearRegister(reg);
		}

		// clone temp vals an put at address

		// merge tempvals to top of regVals
		regVals.peek().putAll(tempVals);

		if (keepTempUniqueValues) {
			uniqueVals.peek().putAll(tempUniqueVals);
		}
		
		if (clearContext) {
			if (!keepTempUniqueValues) {
				tempUniqueVals = new HashMap<>();
			}
			tempVals = new HashMap<>();
			clearVals = new HashSet<>();
		}
	}
Propogate any results that are in the value cache.

@param clearContext  true if the cache should be cleared.
                     The propogation could be for flow purposes, and the
                     processing of the instruction is finished, so it's effects should be kept.
Ghidra/Features/Base/src/main/java/ghidra/program/util/VarnodeContext.java