protected function processFallbacks(BannerTag $bannerTag, $currentUrl, $referenceId) { if (isset($this->fallbacks[$bannerTag->getPlace()])) { $bannerTag->setPlace($this->fallbacks[$bannerTag->getPlace()]); $bannerTag->setReferenceId($this->getReferenceId($bannerTag->getPlace(), $referenceId)); $this->fillBannerTag($bannerTag, $currentUrl); // If still Empty, fallback to fallback if ($bannerTag->isEmpty()) { $this->processFallbacks($bannerTag, $currentUrl, $referenceId); } } }