public ChocolateyFeed(ChocolateyFeedClient feedClient, ChocolateySource source, IInstalledPackagesManager installedPackages)
        {
            this._feedClient = feedClient;
            this._installedPackages = installedPackages;
            this.Source = source;

            this._packageCache = new List<ChocolateyPackage>();
        }
        public IChocolateyFeed Create(ChocolateySource source)
        {
            if(this._feedCache.ContainsKey(source))
            {
                return this._feedCache[source];
            }

            var client = new ChocolateyFeedClient(source.Location)
            {
                IgnoreMissingProperties = true,
                MergeOption = MergeOption.NoTracking
            };

            var feed = new ChocolateyFeed(client, source, this._installedPackages);

            this._feedCache.Add(source, feed);

            return feed;
        }