title: TagBuilder.MergeAttributes does not work
body: <p>I am creating my own helper in MVC. But the custom attributes are not added in the HTML:</p>
  
  <p><strong>Helper</strong></p>
  
  <pre><code>public static MvcHtmlString MenuItem(this HtmlHelper helper, string linkText, string actionName, string controllerName, object htmlAttributes)
  {
      var currentControllerName = (string)helper.ViewContext.RouteData.Values["controller"];
      var currentActionName = (string)helper.ViewContext.RouteData.Values["action"];
  
      var builder = new TagBuilder("li");
  
      if (currentControllerName.Equals(controllerName, StringComparison.CurrentCultureIgnoreCase)
          &amp;&amp; currentActionName.Equals(actionName, StringComparison.CurrentCultureIgnoreCase))
          builder.AddCssClass("selected");
  
      if (htmlAttributes != null)
      {
          var attributes = new RouteValueDictionary(htmlAttributes);
          builder.MergeAttributes(attributes, false); //DONT WORK!!!
      }
  
      builder.InnerHtml = helper.ActionLink(linkText, actionName, controllerName).ToHtmlString();
      return MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal));
  }
  </code></pre>
  
  <p><strong>CSHTML</strong></p>
  
  <pre><code>@Html.MenuItem("nossa igreja2", "Index", "Home", new { @class = "gradient-top" })
  </code></pre>
  
  <p><strong>Final result (HTML)</strong></p>
  
  <pre><code>&lt;li class="selected"&gt;&lt;a href="/"&gt;nossa igreja2&lt;/a&gt;&lt;/li&gt;
  </code></pre>
  
  <p>Note that it did not add the class <code>gradient-top</code> that I mentioned in the helper call.</p>