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