/// <summary>
        /// Add the full list of versions for a package
        /// </summary>
        public void AddAllPackagesForId(
            Configuration.PackageSource source,
            string packageId,
            NuGetFramework framework,
            List <SourcePackageDependencyInfo> packages)
        {
            var key = new GatherAllCacheKey(packageId, source, framework);

            _allPackageVersions.TryAdd(key, packages);
        }
        /// <summary>
        /// Retrieve all versions of a package id
        /// </summary>
        public GatherCacheResult GetPackages(
            Configuration.PackageSource source,
            string packageId,
            NuGetFramework framework)
        {
            var key = new GatherAllCacheKey(packageId, source, framework);

            List <SourcePackageDependencyInfo> result;

            var hasEntry = _allPackageVersions.TryGetValue(key, out result);

            return(new GatherCacheResult(hasEntry, result));
        }