public void produceSVGGraph(String catalogName, InputStream catalogStream, OutputStream svgStream,
IProgressMonitor monitor, IPath root) throws IOException {
final SubMonitor ticker = SubMonitor.convert(monitor, 2000);
CatalogGraphProducer graphProducer = injector.getInstance(CatalogGraphProducer.class);
ICancel cancel = new ProgressMonitorCancelIndicator(ticker.newChild(IProgressMonitor.UNKNOWN), 1000);
Catalog catalog = CatalogJsonSerializer.load(catalogStream);
ByteArrayOutputStream2 out = new ByteArrayOutputStream2();
graphProducer.produceGraph(cancel, catalog, catalogName, out, root);
graphProducer.getSVGProducer().produceSVG(out.toInputStream(false), svgStream, false, //