public void produceGraph(ICancel cancel, Catalog catalog, String catalogName, OutputStream out, IPath root) {
if(cancel == null || catalog == null || out == null)
throw new IllegalArgumentException("one or more parameters are null");
RootGraph g = produceRootGraph(cancel, catalog, catalogName, root);
GraphCSS instanceRules = getInstanceRules();
instanceRules.addAll(getTheme().getInstanceRules());
getDotRenderer().write(cancel, out, g, getTheme().getDefaultRules(), instanceRules);
}