### Question:
GraphMerger { protected void merge( Graph actualGraph, Graph.Batch batch ) { CheckArg.isNotNull(actualGraph, "actualGraph"); Subgraph subgraph = this.initialContent.getSubgraphOfDepth(Integer.MAX_VALUE).at("/"); SubgraphNode desiredNode = subgraph.getRoot(); boolean checkProperties = true; if (desiredNode.getLocation().getPath().isRoot()) { checkProperties = false; } Path path = desiredNode.getLocation().getPath(); Node actualNode = actualGraph.getNodeAt(path); matchNode(batch, actualGraph, actualNode, desiredNode, checkProperties, true); } protected  GraphMerger( Graph initialContent );   }### Answer:
@Test public void shouldInitializeEmptySource() { assertNoChildren(graph, "/"); graph.merge(initialContent); printSubgraph(graph, "/"); assertNodeExists(initialContent, "Aircraft"); assertNodeDoesNotExist(initialContent, "Aircraft[2]"); }
@Test public void shouldInitializeSourceWithOnlySomeNodes() { assertNoChildren(graph, "/"); graph.create("/Aircraft").and(); graph.merge(initialContent); printSubgraph(graph, "/"); assertNodeExists(initialContent, "Aircraft"); assertNodeDoesNotExist(initialContent, "Aircraft[2]"); }