void RestorePackage(string packageId, SemanticVersion version)
        {
            IPackageRepository sourceRepository = CreateSourceRepository();

            using (IDisposable operation = sourceRepository.StartRestoreOperation(packageId, version.ToString())) {
                IPackage        package        = PackageHelper.ResolvePackage(sourceRepository, packageId, version);
                IPackageManager packageManager = CreatePackageManager(sourceRepository);

                packageManager.InstallPackage(
                    package,
                    ignoreDependencies: true,
                    allowPrereleaseVersions: true,
                    ignoreWalkInfo: true);

                packageManagementEvents.OnPackageRestored(package);
            }
        }
 public void OnPackageRestored(IPackage package)
 {
     unsafeEvents.OnPackageRestored(package);
 }