protected function bootstrapButton(ButtonInterface $button, $icon) {

        $attributes = [];

        $attributes["class"]          = ["btn", ButtonRenderer::renderType($button)];
        $attributes["class"][]        = ButtonRenderer::renderBlock($button);
        $attributes["class"][]        = ButtonRenderer::renderSize($button);
        $attributes["class"][]        = ButtonRenderer::renderActive($button);
        $attributes["title"]          = ButtonRenderer::renderTitle($button);
        $attributes["type"]           = "button";
        $attributes["data-toggle"]    = ButtonRenderer::renderDataToggle($button);
        $attributes["data-placement"] = ButtonRenderer::renderDataPLacement($button);
        $attributes["disabled"]       = ButtonRenderer::renderDisabled($button);

        $glyphicon = null !== $icon ? RendererTwigExtension::renderIcon($this->getTwigEnvironment(), $icon) : "";
        $innerHTML = ButtonRenderer::renderContent($button);

        return static::coreHTMLElement("button", implode(" ", [$glyphicon, $innerHTML]), $attributes);
    }