### Question:
Bpmn2Marshalling { public static DocumentRoot unmarshall(final String raw) { Bpmn2Resource bpmn2Resource = Bpmn2ResourceFactory.getInstance().create(); try { bpmn2Resource.load(raw); } catch (IOException e) { logError(e); } return getDocumentRoot(bpmn2Resource); }  static DocumentRoot unmarshall(final String raw); static String marshall(final DocumentRoot document); static String marshall(final Definitions definitions); static DocumentRoot getDocumentRoot(final XMLResource resource); static void setLogger(final Consumer<String> LOGGER); static void logError(String message); static void logError(String message,
                                Exception e); static void logError(Exception e);  }### Answer:
@Test public void testUnmarshallSomeProcess() { DocumentRoot doc = unmarshall(SOME_PROCESS); assertNotNull(doc); Process process = getProcess(doc); assertNotNull(process); String processId = process.getId(); assertNotNull(processId); assertEquals("test.process1", processId); String processName = process.getName(); assertNotNull(processName); assertEquals("process1", processName); EList<FlowElement> flowElements = process.getFlowElements(); assertNotNull(flowElements); FlowElement startEvent = flowElements.get(0); assertNotNull(startEvent); assertTrue(startEvent instanceof StartEvent); String startEventId = startEvent.getId(); assertEquals("_B801DDDE-29E9-41C2-BF36-0045EA55F573", startEventId); }