private static Data getDeepestDataContaining(Address addr, Program program) {
		Listing listing = program.getListing();
		Data dataContaining = listing.getDataContaining(addr);
		Address start = dataContaining.getAddress();
		long depth = addr.subtract(start);
		Data primitiveAtAddr = dataContaining.getPrimitiveAt((int) depth);
		return primitiveAtAddr;
	}
Gets the data that is contains the given address.
This is in contrast to {@link Listing#getDataContaining(Address)}, which returns
the outer-most data for an address.

@param addr the address potentially contained by some data
@param program the program
@return the data containing the address; null if no data contains the address
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/navigation/locationreferences/ReferenceUtils.java