public Dictionary<string, SpecificVersionInfo[]> GetPackagesAsVersions(bool remote = false) {
var packages = remote
? Repo.Remotes.SelectMany(x => x.Index.GetPackagesListAsVersions()).Distinct().OrderBy(x => x).ToArray()
: Repo.GetPackagesListAsVersions();
var dic = new Dictionary<string, List<SpecificVersionInfo>>();
foreach (var i in packages) {
if (!dic.ContainsKey(i.Name))
dic[i.Name] = new List<SpecificVersionInfo>();
dic[i.Name].Add(i.VersionInfo);
}
return dic.ToDictionary(x => x.Key, x => x.Value.Select(y => y).Reverse().ToArray());
}