private static Pattern createAnnotationStartPattern() {

		Set<String> names = getAnnotationNames();
		String namePatternString = StringUtils.join(names, "|");

		//@formatter:off
		return 
			Pattern.compile(
				"(?<!\\\\)" + 		// no preceding '\'
				"(" +        		// capture the match
				"\\{@(" +     		// '{@' start characters 
				namePatternString + // all known annotations with the '|' alternation 
				")\\s+?" +          // a space after the annotation name
				")"					// end capture
				);
		//@formatter:on
	}
Split the given text into parts where the returned list contains either a String or 
an Annotation

@param text the text to parse
@param fixerUpper a function that is given a chance to convert an Annotation into a new one
@param program the program
@return a list that contains a mixture String or an Annotation entries
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/CommentUtils.java