/** * @param string $locale * @param array $countryData * @return null|Country */ protected function getCountry($locale, array $countryData) { if (empty($countryData['iso2Code']) || empty($countryData['iso3Code'])) { return null; } /** @var $country Country */ $country = $this->countryRepository->findOneBy(array('iso2Code' => $countryData['iso2Code'])); if (!$country) { $country = new Country($countryData['iso2Code']); $country->setIso3Code($countryData['iso3Code']); } $countryName = $this->translate($countryData['iso2Code'], static::COUNTRY_PREFIX, $locale); $country->setLocale($locale)->setName($countryName); return $country; }