private IEnumerable<IEnumerable<string>> GetImageSets(string menuName) { foreach (var provider in _navigationProviders) { if (provider.MenuName == menuName) { var builder = new NavigationBuilder(); IEnumerable<string> imageSets = null; try { provider.GetNavigation(builder); imageSets = builder.BuildImageSets(); } catch (Exception ex) { Logger.Error(ex, "Unexpected error while querying a navigation provider. It was ignored. The menu provided by the provider may not be complete."); } if (imageSets != null) { yield return imageSets; } } } }