private IEnumerable<IEnumerable<MenuItem>> GetSources(IContent menu)
 {
     foreach (var provider in _menuProviders) {
         var builder = new NavigationBuilder();
         IEnumerable<MenuItem> items = null;
         try {
             provider.GetMenu(menu, builder);
             items = builder.Build();
         }
         catch (Exception ex) {
             Logger.Error(ex, "Unexpected error while querying a menu provider. It was ignored. The menu provided by the provider may not be complete.");
         }
         if (items != null) {
             yield return items;
         }
     }
 }