protected function renderBody($body = null, $includeOb = false) {
        $body = isset($body) ? $body : $this->body;
        $bodyContent = '';
        $bodyTag = 'div';
        if (is_array($body)) {
            $bodyRows = [];
            foreach ($body as $bodyRow) {
                $bodyRowContent = $this->renderBody($bodyRow);
                if (empty($bodyRowContent)) {
                    continue;
                }
                $bodyRows[] = $bodyRowContent;
            }
            $bodyContent = implode("\n", $bodyRows);
        } else {
            if (isset($this->bodyOptions)) {
                if (isset($this->overlayImage)) {
                    Html::addCssClass($this->bodyOptions, ['widget' => 'card-img-overlay']);
                } else {
                    Html::addCssClass($this->bodyOptions, ['widget' => 'card-body']);
                }
                $bodyTag = ArrayHelper::remove($this->bodyOptions, 'tag', 'div');
                $bodyOptions = $this->bodyOptions;
            }
            if (isset($body)) {
                $bodyContent .= $body;
            }
        }
        if ($includeOb) {
            $bodyContent .= ob_get_clean();
        }
        return isset($bodyOptions) ? $this->htmlHlp->tag($bodyTag, $bodyContent, $bodyOptions) : $bodyContent;
    }