internal PackageManagerResult DownloadPackage(string packageId, string version, out string pathToPackage)
 {
     try
     {
         var response = this.client.Execute(new PackageDownload(packageId, version));
         pathToPackage = PackageDownload.GetFileFromResponse(response);
         return(PackageManagerResult.Succeeded());
     }
     catch (Exception e)
     {
         pathToPackage = null;
         return(PackageManagerResult.Failed(e.Message));
     }
 }
        internal PackageManagerResult DownloadPackageHeader(string id, out PackageHeader header)
        {
            var pkgDownload = new HeaderDownload(id);

            try
            {
                var response = this.client.ExecuteAndDeserializeWithContent <PackageHeader>(pkgDownload);
                if (!response.success)
                {
                    throw new Exception(response.message);
                }
                header = response.content;
            }
            catch (Exception e)
            {
                var a = PackageManagerResult.Failed(e.Message);
                header = null;
                return(a);
            }

            return(new PackageManagerResult("", true));
        }