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;
             }
         }
     }
 }