value === []) { throw new \DomainException('CouponValidityInformations requires at least one CouponValidityInformation.'); } $hasFrance = false; foreach ($this->value as $couponLegalInformation) { if (! $couponLegalInformation instanceof CouponValidityInformation) { throw new \DomainException('Value of CouponValidityInformationArray must be CouponValidityInformation instances.'); } if ($couponLegalInformation->forLocale === Country::FRANCE) { $hasFrance = true; } } if (! $hasFrance) { throw new \DomainException('CouponValidityInformations requires a CouponValidityInformation for France.'); } } }