private void addDataReferences(Data data, List<Address> longSegmentAddressList) {
		DataType dt = data.getDataType();
		if (Address.class.equals(dt.getValueClass(data))) {
			Object obj = data.getValue();
			if (obj instanceof Address) {
				// creates a reference unless the value is 0 or all f's
				createReference(data, (Address) obj, longSegmentAddressList);
			}
			return;
		}

		if (!containsAddressComponents(dt)) {
			return;
		}

		int numComponents = data.getNumComponents();
		for (int i = 0; i < numComponents; i++) {
			Data dataElement = data.getComponent(i);
			addDataReferences(dataElement, longSegmentAddressList);
		}
	}
Add in any references from pointer data types found in a data item.  We don't create refs 
for 0 or all f's.
@param data the data to add references for.
@param longSegmentAddressList used internally to make sure that, for 64 bit addresses, we
don't pollute the addressMap segment table when creating arrays of pointers on arbitrary
data.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/CodeManager.java