@Override
	public void optionsChanged(Options options, Program program) {
		checkParamRefsOption = options.getBoolean(OPTION_NAME, checkParamRefsOption);

		checkPointerParamRefsOption =
			options.getBoolean(POINTER_PARAM_OPTION_NAME, checkPointerParamRefsOption);

		checkStoredRefsOption = options.getBoolean(STORED_OPTION_NAME, checkStoredRefsOption);
		trustWriteMemOption = options.getBoolean(TRUST_WRITEMEM_OPTION_NAME, trustWriteMemOption);
		
		createComplexDataFromPointers = options.getBoolean(CREATE_COMPLEX_DATA_FROM_POINTERS_OPTION_NAME, createComplexDataFromPointers);

		maxThreadCount = options.getInt(MAX_THREAD_COUNT_OPTION_NAME, maxThreadCount);

		// TODO: there should be a getAddress on option that validates and allows entry of addresses
		minStoreLoadRefAddress =
			options.getLong(MIN_KNOWN_REFADDRESS_OPTION_NAME, minStoreLoadRefAddress);
		minSpeculativeRefAddress =
			options.getLong(MIN_SPECULATIVE_REFADDRESS_OPTION_NAME, minSpeculativeRefAddress);
		maxSpeculativeRefAddress =
			options.getLong(MAX_SPECULATIVE_REFADDRESS_OPTION_NAME, maxSpeculativeRefAddress);
	}
Actually use the setup evaluator to flow the constants

@param flowStart - address to start flowing at
@param flowSet - address set to restrict constant flowing to
@param symEval - symbolic propagator to be used
@param monitor - monitor to check canceled
@return the address set of instructions which were followed
@throws CancelledException
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ConstantPropagationAnalyzer.java