<T> void markupFields(StructureContext<T> structureContext)
			throws IOException, CancelledException {
		T structureInstance = structureContext.getStructureInstance();
		StructureMappingInfo<T> mappingInfo = structureContext.getMappingInfo();
		for (FieldMappingInfo<T> fmi : mappingInfo.getFields()) {
			for (FieldMarkupFunction<T> func : fmi.getMarkupFuncs()) {
				FieldContext<T> fieldContext = structureContext.createFieldContext(fmi, false);
				func.markupField(fieldContext, this);
			}
		}
		if (structureInstance instanceof StructureMarkup<?> sm) {
			for (Object externalInstance : sm.getExternalInstancesToMarkup()) {
				markup(externalInstance, false);
			}
		}

		for (StructureMarkupFunction<T> markupFunc : mappingInfo.getMarkupFuncs()) {
			markupFunc.markupStructure(structureContext, this);
		}

	}
Decorates a structure mapped structure, and everything it contains.

@param <T> structure mapped type
@param structureContext {@link StructureContext}
@param nested if true, it is assumed that the Ghidra data types have already been
placed and only markup needs to be performed.
@throws IOException if error marking up structure
@throws CancelledException if cancelled
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/structmapping/MarkupSession.java