private static List<Integer> convertToRawArray(IntervalSet intervalSet) {
		List<Interval> intervals = intervalSet.getIntervals();
		int intervalSetSize = intervals.size();
		List<Integer> rawArray = new ArrayList<>(intervalSetSize * 2);
		for (Interval interval : intervals) {
			rawArray.add(interval.a);
			rawArray.add(interval.b);
		}
		return rawArray;
	}
StringTemplate controller used to generate parameters to feed
to {@code unicodedata.st} to code-generate {@code UnicodeData.java},
used by the tool for Unicode property escapes like {@code \\p\{Lu\}}.

Uses ICU to iterate over Unicode character categories, properties,
and script codes, as well as aliases for those codes.

This class exists in its own Maven module to avoid adding a
dependency from the tool onto the (large) ICU runtime.
tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java