private void restorePreferSplit(XmlPullParser parser) throws XmlParseException {
		XmlElement el = parser.start();
		String styleString = el.getAttribute("style");
		if (styleString == null || !styleString.equals("inhalf")) {
			throw new XmlParseException("Unknown prefersplit strategy");
		}
		preferSplit = new ArrayList<>();
		while (parser.peek().isStart()) {
			XmlElement subel = parser.start();
			AddressXML addrSized = AddressXML.restoreXml(subel, this);
			parser.end(subel);
			preferSplit.add(addrSized.getVarnode());
		}
		parser.end(el);
	}
Initialize this object from an XML stream.  A single {@code <compiler_spec>} tag is expected.
@param parser is the XML stream
@throws XmlParseException for badly formed XML
@throws DuplicateNameException if we parse more than one PrototypeModel with the same name
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/BasicCompilerSpec.java