private void encodeSpaceBases(Encoder encoder) throws IOException {
		if (spaceBases == null) {
			return;
		}
		for (Entry<String, Pair<AddressSpace, String>> entry : spaceBases.entrySet()) {
			encoder.openElement(ELEM_SPACEBASE);
			encoder.writeString(ATTRIB_NAME, entry.getKey());
			encoder.writeString(ATTRIB_REGISTER, entry.getValue().second);
			encoder.writeSpace(ATTRIB_SPACE, entry.getValue().first);
			encoder.closeElement(ELEM_SPACEBASE);
		}
	}
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