public static void restoreXmlAttributes(ArrayList<PostRule> postrulelist,
			ArrayList<MatchAction> actionlist, XmlPullParser parser, PatternFactory pfactory)
			throws IOException {
		XmlElement el = parser.peek();
		while (el.isStart()) {
			PostRule newrule = pfactory.getPostRuleByName(el.getName());
			if (newrule != null) {
				newrule.restoreXml(parser);
				postrulelist.add(newrule);
			}
			else {
				MatchAction matchaction = pfactory.getMatchActionByName(el.getName());
				if (matchaction != null) {
					matchaction.restoreXml(parser);
					actionlist.add(matchaction);
				}
				else {
					throw new IOException("Bad <pattern> subtag");
				}
			}
			el = parser.peek();
		}

	}
Restore the PostRule and the MatchAction tags
@param parser is the parser at the start of tags
@param pfactory is the factory for the PostRule and MatchAction objects
@throws IOException
Ghidra/Features/Base/src/main/java/ghidra/util/bytesearch/Pattern.java