private async Task ExecuteUninstallAsync(NuGetProject nuGetProject, PackageIdentity packageIdentity, HashSet<PackageIdentity> packageWithDirectoriesToBeDeleted, INuGetProjectContext nuGetProjectContext, CancellationToken token) { // Step-1: Call nuGetProject.UninstallPackage await nuGetProject.UninstallPackageAsync(packageIdentity, nuGetProjectContext, token); // Step-2: Check if the package directory could be deleted if (!(nuGetProject is ProjectManagement.Projects.ProjectKNuGetProjectBase) && !await PackageExistsInAnotherNuGetProject(nuGetProject, packageIdentity, SolutionManager, token)) { packageWithDirectoriesToBeDeleted.Add(packageIdentity); } // TODO: Consider using CancelEventArgs instead of a regular EventArgs?? //if (packageOperationEventArgs.Cancel) //{ // return; //} }