private List<ContextRegisterInfo> recordContextRegisterInfo(Program program, Function func,
			List<String> contextRegs) {
		List<ContextRegisterInfo> contextRegisterInfo =
			new ArrayList<ContextRegisterInfo>(contextRegs.size());
		int numContextRegs = contextRegs.size();
		for (int i = 0; i < numContextRegs; ++i) {
			contextRegisterInfo.add(new ContextRegisterInfo(contextRegs.get(i)));
		}
		ProgramContext pContext = program.getProgramContext();
		for (ContextRegisterInfo cRegInfo : contextRegisterInfo) {
			Register reg = program.getRegister(cRegInfo.getContextRegister());
			if (reg == null) {
				Msg.info(this, "null returned for register :" + cRegInfo.getContextRegister() +
					" - spelling error?");
				continue;
			}
			BigInteger value = pContext.getValue(reg, func.getEntryPoint(), false);
			cRegInfo.setValue(value);
		}
		return contextRegisterInfo;
	}
Creates a {@link FunctionBitPatternInfo} object consisting of information gathered
for a given {@link Function} using the specified {@link DataGatheringParams}
@param program {@link Program} containing the {@link Function}
@param func {@link Function} to gather data about
@param params parameters controlling how much data is gathered
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/info/FunctionBitPatternInfo.java