@Override
	public ListingField getField(ProxyObj<?> proxy, int varWidth) {
		Object obj = proxy.getObject();
		if (!enabled || !(obj instanceof Data)) {
			return null;
		}
		Data data = (Data) obj;
		Data parent = data.getParent();
		int numComponents = parent.getNumComponents();
		int index = data.getComponentIndex();
		int remaining = numComponents - index;
		int itemCount = Math.min(remaining, valuesPerLine);
		boolean isLastLine = remaining <= itemCount;

		FieldElement[] aStrings = new FieldElement[itemCount];
		for (int i = 0; i < itemCount; i++) {
			Data child = parent.getComponent(index++);
			boolean isLastItem = isLastLine && (i == itemCount - 1);
			String value = getDisplayValue(child, !isLastItem);
			AttributedString as =
				new AttributedString(value, ListingColors.ARRAY_VALUES, getMetrics());
			aStrings[i] = new TextFieldElement(as, i, 0);
		}
		return ListingTextField.createPackedTextField(this, proxy, aStrings, startX + varWidth,
			width, 1, hlProvider);

	}
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