code: private static void generatePackageDiagrams(RootDoc root, Options opt, String outputFolder)
  	    throws IOException {
  	Set<String> packages = new HashSet<String>();
  	for (ClassDoc classDoc : root.classes()) {
  	    PackageDoc packageDoc = classDoc.containingPackage();
  	    if(!packages.contains(packageDoc.name())) {
  		packages.add(packageDoc.name());
      	    OptionProvider view = new PackageView(outputFolder, packageDoc, root, opt);
      	    UmlGraph.buildGraph(root, view, packageDoc);
      	    runGraphviz(opt.dotExecutable, outputFolder, packageDoc.name(), packageDoc.name(), root);
      	    alterHtmlDocs(opt, outputFolder, packageDoc.name(), packageDoc.name(),
      		    "package-summary.html", Pattern.compile("(</[Hh]2>)|(<h1 title=\"Package\").*"), root);
  	    }
  	}
      }
docs: Generates the package diagrams for all of the packages that contain classes among those
  returned by RootDoc.class()