anchor.diff:          XAttribute(NsNone + "Target", target),
           XAttribute(NsNone + "Category", category))
   
  -let GraphNodes (projects : Project set) (allProjects : Project set) =
  +let GraphNodes (projects : Project set) (allProjects : Project set) (packages : PackageId set) (assemblies : AssemblyId set) (repos : RepositoryId set) =
       let importedProjects = Set.difference allProjects projects
  -    let allPackageReferences = projects |> Seq.map (fun x -> x.PackageReferences)
  -                                        |> Seq.concat
  -    let allAssemblies = projects |> Seq.map (fun x -> x.AssemblyReferences)
  -                                 |> Seq.concat
  -
  -    let repos = allProjects |> Set.map (fun x -> x.Repository)
   
       seq {
           for repo in repos do
  
positive.code:         for project in importedProjects do
              yield GenerateNode (project.ProjectGuid.toString) (project.Output.toString) "ProjectImport"
  
          for package in allPackageReferences do
              yield GenerateNode (package.toString) (package.toString) "Package"
  
          for assembly in allAssemblies do
              yield GenerateNode (assembly.toString) (assembly.toString) "Assembly"
      }
  
  
negative.code:                 XAttribute(NsNone + "Label", repo.toString),
                  XAttribute(NsNone + "Group", "Expanded"))
  
          if packages.Count > 0 then
              yield XElement(NsDgml + "Node",
                  XAttribute(NsNone + "Id", "Packages"),
                  XAttribute(NsNone + "Label", "Packages"),
                  XAttribute(NsNone + "Group", "Expanded"))
  
          if assemblies.Count > 0 then
              yield XElement(NsDgml + "Node",
                  XAttribute(NsNone + "Id", "Assemblies"),
                  XAttribute(NsNone + "Label", "Assemblies"),
                  XAttribute(NsNone + "Group", "Expanded"))
  