private RowColLocation getDataRowColumnLocation(ProgramLocation location, ListingField field) {
		ListingTextField ltf = (ListingTextField) field;
		Data firstDataOnLine = (Data) field.getProxy().getObject();

		if (location instanceof ArrayElementFieldLocation loc) {
			int elementIndex = loc.getElementIndexOnLine(firstDataOnLine);
			return ltf.dataToScreenLocation(elementIndex, loc.getCharOffset());
		}

		Address byteAddress = location.getByteAddress();
		int byteOffset = (int) byteAddress.subtract(firstDataOnLine.getAddress());
		int componentSize = firstDataOnLine.getLength();
		int elementOffset = byteOffset / componentSize;
		return ltf.dataToScreenLocation(elementOffset, 0);
	}
Constructor
@param model the model that the field belongs to.
@param hlProvider the HightLightStringProvider.
@param displayOptions the Options for display properties.
@param fieldOptions the Options for field specific properties.
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/ArrayValuesFieldFactory.java