public void readState() throws IOException {
		NonThreadedXmlPullParserImpl parser = null;
		try {
			parser = new NonThreadedXmlPullParserImpl(propertyFile, HANDLER, false);
			XmlElement file_info = parser.start("FILE_INFO");
			XmlElement basic_info = parser.start("BASIC_INFO");
			XmlElement state;
			while ((state = parser.softStart("STATE")) != null) {
				String propertyName = state.getAttribute("NAME");
				String propertyTypeString = state.getAttribute("TYPE");
				String propertyValue = state.getAttribute("VALUE");
				PropertyEntryType propertyType = PropertyEntryType.lookup(propertyTypeString);
				map.put(propertyName, new Pair<PropertyEntryType, String>(propertyType,
					propertyValue));
				parser.end(state);
			}
			parser.end(basic_info);
			parser.end(file_info);
		}
		catch (Exception e) {
			Msg.error(this, "Unexpected Exception: " + e.getMessage(), e);
			throw new InvalidObjectException("XML parse error in properties file");
		}
		finally {
			if (parser != null) {
				parser.dispose();
			}
		}
	}
Read in this PropertyFile into a SaveState object.
@throws IOException thrown if there was a problem reading the file
Ghidra/Framework/FileSystem/src/main/java/ghidra/util/PropertyFile.java