public static MvcHtmlString BuildNavigation(this HtmlHelper htmlHelper, IEnumerable <NavigationItem> navigationItems, bool bypassSecurity, object htmlAttributes = null) { var container = new TagBuilder("ul"); container.ApplyHtmlAttributes(htmlAttributes); var innerHtmlBuilder = new StringBuilder(); foreach (var item in navigationItems.Where(item => bypassSecurity || IsAuthorized(htmlHelper, item.RouteValueDictionary))) { innerHtmlBuilder.Append( new TagBuilder("li") { InnerHtml = htmlHelper.ActionLink(item).ToHtmlString(), }); } container.InnerHtml = innerHtmlBuilder.ToString(); return(new MvcHtmlString(container.ToString())); }