public async Task <IEnumerable <FeatureDescriptor> > GetDependentFeaturesAsync(string featureId) { var dependants = await _featureManager.GetDependentFeaturesAsync(featureId); var availableFeatures = await _featureManager.GetAvailableFeaturesAsync(); var availableFeaturesLookup = availableFeatures.ToLookup(f => f.Id, StringComparer.OrdinalIgnoreCase); return(dependants .SelectMany(id => availableFeaturesLookup[id]) .ToList()); }