protected function fontAwesomeIcon(FontAwesomeIconInterface $icon) {

        $attributes = [];

        $attributes["class"][] = FontAwesomeIconRenderer::renderFont($icon);
        $attributes["class"][] = FontAwesomeIconRenderer::renderName($icon);
        $attributes["class"][] = FontAwesomeIconRenderer::renderSize($icon);
        $attributes["class"][] = FontAwesomeIconRenderer::renderFixedWidth($icon);
        $attributes["class"][] = FontAwesomeIconRenderer::renderBordered($icon);
        $attributes["class"][] = FontAwesomeIconRenderer::renderPull($icon);
        $attributes["class"][] = FontAwesomeIconRenderer::renderAnimation($icon);
        $attributes["style"]   = FontAwesomeIconRenderer::renderStyle($icon);

        return static::coreHTMLElement("i", null, $attributes);
    }