protected function &getCategoryList(TdbShopArticle $oArticle)
    {
        /** @var $oCategoryList TdbShopCategoryList */
        $oCategoryList = &$oArticle->GetFieldShopCategoryList();
        $oCategoryList->GoToStart();
        if (0 === $oCategoryList->Length() && $oArticle->IsVariant()) {
            $oParent = &$oArticle->GetFieldVariantParent();
            $oCategoryList = &$oParent->GetFieldShopCategoryList();
            $oCategoryList->GoToStart();
        }

        return $oCategoryList;
    }