private async Task ProcessModern(bool noCheckout, Package[] packages) { if (noCheckout) throw new NotSupportedException(); var doRemoval = Settings.CheckoutType != CheckoutType.CheckoutWithoutRemoval; var synqer = new Synqer(); var allRemotes = packages.SelectMany(x => FindRemotesWithPackage(x.GetFullName())).Distinct().ToArray(); await synqer.DownloadPackages(packages, Repo.ObjectsPath.GetChildDirectoryWithName("temp"), allRemotes, StatusRepo, doRemoval ? Progress.Cleanup : null, Progress.Processing) .ConfigureAwait(false); // TODO: Only when changed? foreach (var p in packages) p.WriteTag(); }