### Question:
Parser implements BaseParser { @Override public Definition parse(String processName, int processVersion) { Document processXML = getXML(processName, processVersion); return parser0(processName, 1, processXML, true); }  @Override boolean needRefresh(String processName, int processVersion, Definition oldDefinition); @Override Definition parse(String processName, int processVersion); Definition parser0(String name, int version, Document processXML, boolean status); Document getXML(String processName, @SuppressWarnings("UnusedParameters") int processVersion); static Map<String, StateAround> stateLifeMap; }### Answer:
@Test public void testParse() { StateFactory.applyState(Start.class); StateFactory.applyState(State.class); StateFactory.applyState(Event.class); StateFactory.applyState(BizInfo.class); InvokableFactory.applyInvokable(MvelScriptInvokable.class); Definition definition = parser.parse("process", 0); BizInfo bizInfo = definition.getExtNode(BizInfo.class); Assert.assertNotNull(bizInfo); for (BizInfo.BizInfoElement e : bizInfo.getBizInfoList("r")) { Assert.assertEquals("r", e.getAttribute("key")); Assert.assertTrue(e.getAttribute("value").startsWith("r")); System.out.println(e.getAttribute("key") + " -> " + e.getAttribute("value")); } }