/** * @param ZoneInterface $zone * @param ProvinceInterface $province * * @return boolean Province is contained in zone */ public function isProvinceContainedInZone(ZoneInterface $zone, ProvinceInterface $province) { return $zone->getMembers()->filter(function (ZoneMemberInterface $zoneMember) { return $zoneMember instanceof ZoneProvinceMemberInterface; })->exists(function ($_, ZoneProvinceMemberInterface $zoneProvinceMember) use($province) { return $province->equals($zoneProvinceMember->getProvince()); }); }