public void restoreXml(XmlPullParser parser, List<PrototypeModel> modelList)
			throws XmlParseException {
		ArrayList<PrototypeModel> mylist = new ArrayList<>();
		XmlElement el = parser.start();
		name = el.getAttribute("name");
		while (parser.peek().isStart()) {
			XmlElement subel = parser.start();
			String modelName = subel.getAttribute("name");
			PrototypeModel foundModel = null;
			for (PrototypeModel model : modelList) {
				if (model.name.equals(modelName)) {
					foundModel = model;
					break;
				}
			}
			if (foundModel == null) {
				throw new XmlParseException("Missing prototype model: " + modelName);
			}
			mylist.add(foundModel);
			parser.end(subel);
		}
		parser.end(el);
		modellist = new PrototypeModel[mylist.size()];
		mylist.toArray(modellist);
	}
This model serves as a placeholder for multiple model
Currently all the models being selected between must share the same output model
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/PrototypeModelMerged.java