public IEnumerable <NuGetFramework> GetFrameworksSupporting(NuGetFramework target)
        {
            var remaining = _nameProvider
                            .GetCompatibleCandidates()
                            .Where(candidate => _compatibilityProvider.IsCompatible(candidate, target));

            remaining = _reducer.ReduceEquivalent(remaining);

            remaining = ReduceDownwards(remaining);

            return(remaining
                   .OrderBy(f => f, new NuGetFrameworkSorter()));
        }