public function promo($iPromoBlockID)
    {
        $arResultIDList = ProductListStore::instance()->promo_block->get($iPromoBlockID);

        //Fire event, get additional product ID list
        $arEventDataList = Event::fire(PromoBlock::EVENT_GET_PRODUCT_LIST, $iPromoBlockID);
        if (empty($arEventDataList)) {
            return $this->intersect($arResultIDList);
        }

        //Process event data
        foreach ($arEventDataList as $arProductIDList) {
            if (empty($arProductIDList) || !is_array($arProductIDList)) {
                continue;
            }

            $arResultIDList = array_merge($arResultIDList, $arProductIDList);
        }

        $arResultIDList = array_unique($arResultIDList);

        return $this->intersect($arResultIDList);
    }