DAGNode<Component, Dependency> unshared = instantiator.simulate();
logger.debug("unshared graph has {} nodes", unshared.getReachableNodes().size());
Closer close = Closer.create();
try {
Writer writer = close.register(new FileWriter(graphvizFile));
GraphWriter gw = close.register(new GraphWriter(writer));
GraphDumper dumper = new GraphDumper(graph, unshared.getReachableNodes(), gw);
logger.debug("writing root node");
String rid = dumper.setRoot(graph);
// process each other node & add an edge
for (DAGEdge<Component, Dependency> e: graph.getOutgoingEdges()) {