You might need to make this a Dictionary<NuGetPackageChange, ChangeManifest> as you need to be able to get the result even if you have walked the tree for this node before.