private static FieldElement createFieldElementForAnnotations(String text,
			Function<Annotation, Annotation> fixerUpper, Program program,
			AttributedString prototype, int row) {

		// tabs are converted here instead of the GUI dialogs now
		text = StringUtilities.convertTabsToSpaces(text);

		int column = 0;
		List<CommentPart> parts =
			doParseTextIntoParts(text, fixerUpper, program);
		List<FieldElement> fields = new ArrayList<>();
		for (CommentPart part : parts) {

			FieldElement f = createElement(part, prototype, program, row, column);
			fields.add(f);
			column += part.getDisplayText().length();
		}

		return new CompositeFieldElement(fields.toArray(new FieldElement[fields.size()]));
	}
Parses the given text looking for annotations. 
 
@param text The text to parse
@param fixerUpper a function that will take an annotation and optionally create a new 
       one.  This allows clients to use the annotations to change the text as needed
@param program the program from which to get information
@param prototype The reference string used to determine the attributes of any 
        newly created AttributedString.
@param row the row of the newly created FieldElement
@return A field element containing {@link AttributedString}s
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/CommentUtils.java