@Override
	public void restoreXml(XmlPullParser parser, LSHVectorFactory vectorFactory)
		throws LSHException {
		parser.start(name);
		parser.start("tfunc");
		totalfunc = SpecXmlUtils.decodeInt(parser.end().getText());
		parser.start("tmatch");
		totalmatch = SpecXmlUtils.decodeInt(parser.end().getText());
		parser.start("umatch");
		uniquematch = SpecXmlUtils.decodeInt(parser.end().getText());
		manage.restoreXml(parser, vectorFactory);
		Map<Integer, ExecutableRecord> qMap = qnear.manage.generateExecutableXrefMap();
		Map<Integer, ExecutableRecord> rMap = manage.generateExecutableXrefMap();
		while (parser.peek().isStart()) {
			SimilarityResult res = new SimilarityResult();
			res.restoreXml(parser, qnear.manage, manage, qMap, rMap);
			result.add(res);
		}
		parser.end();
	}
Response to a QueryNearest request.  A full description in terms of ExecutableRecords and FunctionDescriptions
is returned.  The linked list of SimilarityResults explicitly describes the similarities between the functions
in the original request and the new functions being returned.  A SimilarityResult cross-references
FunctionDescription objects between the request DescriptionManager and this response object's DescriptionManager
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/protocol/ResponseNearest.java