private int createPointedToData(AutoAnalysisManager aMgr, Program program, Address address,
			RefType refType, DataType dataType, int size) {
		// don't do in external memory
		if (program.getMemory().isExternalBlockAddress(address) || address.isExternalAddress()) {
			return 0;
		}

		// don't create if not in real memory
		if (!program.getMemory().contains(address)) {
			return 0;
		}

		// Get the data type that is pointed to, strip off pointer, or pointer typedef
		DataType pointedToDT = null;
		if (dataType instanceof Pointer ptr) {
			pointedToDT = ptr.getDataType();
		}
		else if ((dataType instanceof TypeDef typeDef &&
			typeDef.getBaseDataType() instanceof Pointer ptr)) {
			pointedToDT = ptr.getDataType();
		}

		// if this is a function pointer, create the code/function/signature
		if (pointedToDT instanceof FunctionDefinition funcDefn) {
			createFunctionApplySignature(aMgr, program, address, funcDefn);
			return dataType.getLength();
		}

		// otherwise it is data

		if (dataType != null) {
			// System.out.println("@ " + address + " Data Type - " + dataType);
		}

		return createData(program, address, pointedToDT, size);
	}
If you override this method, and the default behavior of checking 0-256 and mask values is desired,
call super.evaluateReference() in your overriden method.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ConstantPropagationContextEvaluator.java