private void setupOptions(Options fieldOptions) {
		// we need to install a custom editor that allows us to edit a group of related options
		fieldOptions.registerOption(FormatManager.ARRAY_DISPLAY_OPTIONS, OptionType.CUSTOM_TYPE,
			new ArrayElementWrappedOption(), null, FormatManager.ARRAY_DISPLAY_DESCRIPTION,
			() -> new ArrayElementPropertyEditor());
		CustomOption wrappedOption = fieldOptions.getCustomOption(
			FormatManager.ARRAY_DISPLAY_OPTIONS, new ArrayElementWrappedOption());

		HelpLocation hl = new HelpLocation("CodeBrowserPlugin", "Array_Options");
		fieldOptions.getOptions(FormatManager.ARRAY_OPTIONS_GROUP).setOptionsHelpLocation(hl);
		fieldOptions.getOptions(FormatManager.ARRAY_DISPLAY_OPTIONS).setOptionsHelpLocation(hl);

		if (!(wrappedOption instanceof ArrayElementWrappedOption)) {
			throw new AssertException("Someone set an option for " +
				FormatManager.ARRAY_DISPLAY_OPTIONS + " that is not the expected " +
				"ghidra.app.util.viewer.field.NamespaceWrappedOption type.");
		}

		ArrayElementWrappedOption arrayElementOption = (ArrayElementWrappedOption) wrappedOption;
		valuesPerLine = arrayElementOption.getArrayElementsPerLine();
	}
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