public SelectionCandidateProvider([NotNull] Config config, [NotNull] IFeedManager feedManager, [NotNull] IStore store, [NotNull] IPackageManager packageManager, [NotNull] LanguageSet languages)
{
#region Sanity checks
if (config == null) throw new ArgumentNullException(nameof(config));
if (feedManager == null) throw new ArgumentNullException(nameof(feedManager));
if (store == null) throw new ArgumentNullException(nameof(store));
if (packageManager == null) throw new ArgumentNullException(nameof(packageManager));
if (languages == null) throw new ArgumentNullException(nameof(languages));
#endregion
_config = config;
_feedManager = feedManager;
_isCached = BuildCacheChecker(store);
_packageManager = packageManager;
_comparer = new TransparentCache<FeedUri, SelectionCandidateComparer>(id => new SelectionCandidateComparer(config, _isCached, _interfacePreferences[id].StabilityPolicy, languages));
}