protected function renderContent()
    {
        if (is_string($this->content)
            || $this->content instanceof SafeHtmlWrapper
            || $this->content instanceof SafeHtmlProducerInterface
        ) {
            return Html::escape($this->content);
        } elseif ($this->content instanceof RenderableInterface) {
            return Html::escape($this->content->render());
        } elseif (is_array($this->content)
            || $this->content instanceof ArrayableInterface
        ) {
            return ArrayList::of($this->content)
                ->map(function ($child) {
                    if (is_string($child)
                        || $child instanceof SafeHtmlWrapper
                        || $child instanceof SafeHtmlProducerInterface
                    ) {
                        return Html::escape($child);
                    } elseif ($child instanceof RenderableInterface) {
                        return Html::escape($child->render());
                    }

                    throw new NodeChildRenderingException($child);
                })
                ->join();
        }

        throw new NodeRenderingException($this->content);
    }