private void preProcessTypedefList(XmlPullParser xmlParser, TaskMonitor monitor)
			throws CancelledException {
		monitor.setMessage("Pre-processing typedefs...");

		while (xmlParser.hasNext()) {
			monitor.checkCancelled();
			XmlElement elem = xmlParser.next();
			if (elem.isStart()) {
				todo.add(elem);
			}
			if (elem.isEnd() && elem.getName().equals("typedefs")) {
				break;
			}
		}
	}
Construct a PDB XML typedef parser.  This will retain all typedef elements for subsequent
parsing.  The full parse will not be completed until the {@link #buildTypeDefs(TaskMonitor)} 
method is invoked after all types and classes have been cached.
@param pdbParser PDB parser object
@param xmlParser XML parser positioned immediately after datatypes or classes element
@param monitor task progress monitor
@param log message log used during construction and subsequent method invocations
@throws CancelledException if monitor is cancelled
@throws SAXParseException PDB XML parse failure
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb/ApplyTypeDefs.java