protected function _loadIdsInList($oCategory, $oCurrArticle, $sOrderBy = null)
    {
        $oIdList = oxNew(\OxidEsales\Eshop\Application\Model\ArticleList::class);
        $oIdList->setCustomSorting($sOrderBy);

        // additionally check if this category is loaded and is price category ?
        if ($oCategory->isPriceCategory()) {
            $oIdList->loadPriceIds($oCategory->oxcategories__oxpricefrom->value, $oCategory->oxcategories__oxpriceto->value);
        } else {
            $sActCat = $oCategory->getId();
            $oIdList->loadCategoryIDs($sActCat, \OxidEsales\Eshop\Core\Registry::getSession()->getVariable('session_attrfilter'));
            // if not found - reloading with empty filter
            if (!isset($oIdList[$oCurrArticle->getId()])) {
                $oIdList->loadCategoryIDs($sActCat, null);
            }
        }

        return $oIdList;
    }