protected function _addBundlesToBasket($aBundles)
    {
        foreach ($aBundles as $sBundleId => $dAmount) {
            if ($dAmount) {
                try {
                    if ($oBundleItem = $this->addToBasket($sBundleId, $dAmount, null, null, false, true)) {
                        $oBundleItem->setAsDiscountArticle(true);
                    }
                } catch (\OxidEsales\Eshop\Core\Exception\ArticleException $oEx) {
                    // caught and ignored
                    if ($oEx instanceof \OxidEsales\Eshop\Core\Exception\OutOfStockException && $oEx->getRemainingAmount() > 0) {
                        $sItemId = $this->getItemKey($sBundleId, null, null, true);
                        $this->_aBasketContents[$sItemId]->setAsDiscountArticle(true);
                    }
                }
            }
        }
    }