public function Render($sListFilterItemId = false, $bHideEmptyCategories = false, $bShowArticleCount = false, $iLevelCount = 1)
    {
        $sHtml = '';
        $sCategoryNameHtml = '';
        if (!is_null($this->oRealCategory)) {
            $sCategoryNameHtml = $this->RenderCategoryName($sListFilterItemId, $bShowArticleCount, $iLevelCount);
        }
        $sChildCategoriesHtml = $this->RenderChildCategories($sListFilterItemId, $bHideEmptyCategories, $bShowArticleCount, $iLevelCount + 1);
        if (empty($sChildCategoriesHtml) && 0 == $this->iAllItemCount && $bHideEmptyCategories) {
            $sHtml = '';
        } else {
            if (!is_null($this->oRealCategory)) {
                $aClass = array('CategoryLevel_'.$iLevelCount);
                if (!empty($sChildCategoriesHtml)) {
                    $aClass[] = 'hasChildren';
                } else {
                    $aClass[] = 'isLeaflet';
                }
                if ($this->bIsActive) {
                    $aClass[] = 'active expanded';
                }
                $sHtml .= '<ul>';
                $sHtml .= '<li class="'.implode(' ', $aClass).'">'.$sCategoryNameHtml;
            }
            $sHtml .= $sChildCategoriesHtml;
            if (!is_null($this->oRealCategory)) {
                $sHtml .= '</li>';
                $sHtml .= '</ul>';
            }
        }

        return $sHtml;
    }