private Object getVarnodeObject(Varnode node) {
		if (node == null) {
			return null;
		}
		if (node.isConstant()) {
			int bitsize = node.getSize() * 8;
			bitsize = bitsize > 64 ? 64 : bitsize;
			boolean signed = node.getOffset() < 0;
			Scalar scalar = new Scalar(bitsize, node.getOffset(), signed);
			return scalar;
		}
		if (node.isAddress() || node.isRegister()) {
			Register reg = language.getRegister(node.getAddress(), node.getSize());

			return reg != null ? reg : node.getAddress();
		}
		return null;
	}
Gather all the flow records (perhaps across multiple InstructionPrototypes via crossbuilds)
and convert to Addresses

@param res is the resulting flow Addresses
@param parsecontext is the parsing context for the current instruction
@param context is the context for the particular address so crossbuilds can be resolved
@throws MemoryAccessException if a memory error occurred while resolving instruction details
@throws UnknownContextException if the gather encounters an instruction not previously parsed
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/SleighInstructionPrototype.java