public function getProductVats($blFormatCurrency = true)
    {
        if (!$this->_oNotDiscountedProductsPriceList) {
            return [];
        }

        $aVats = $this->_oNotDiscountedProductsPriceList->getVatInfo($this->isCalculationModeNetto());

        $oUtils = \OxidEsales\Eshop\Core\Registry::getUtils();
        foreach ((array)$this->_aDiscountedVats as $sKey => $dVat) {
            if (!isset($aVats[$sKey])) {
                $aVats[$sKey] = 0;
            }
            // add prices of the same discounts
            $aVats[$sKey] += $oUtils->fRound($dVat, $this->_oCurrency);
        }

        if ($blFormatCurrency) {
            $oLang = \OxidEsales\Eshop\Core\Registry::getLang();
            foreach ($aVats as $sKey => $dVat) {
                $aVats[$sKey] = $oLang->formatCurrency($dVat, $this->getBasketCurrency());
            }
        }

        return $aVats;
    }