/**
  * @param $meetupEvents
  * @param $speakers
  * @param $venues
  */
 public function mergeEvents(&$meetupEvents, $speakers, $venues)
 {
     // key it on meetup ID
     $localEvents = array_reduce($this->eventsRepository->getAll(), function ($carry, $item) {
         $carry[$item->meetup_id] = $item;
         return $carry;
     });
     if (empty($localEvents)) {
         return;
     }
     // Use only events which exist on the DB
     $meetupEvents = array_intersect_key($meetupEvents, $localEvents);
     foreach ($localEvents as $event) {
         if (array_key_exists($event->meetup_id, $meetupEvents)) {
             // check for speaker
             if (array_key_exists($event->speaker_id, $speakers)) {
                 /** @var Speaker $speaker */
                 $speaker = $speakers[$event->speaker_id];
                 $meetupEvents[$event->meetup_id]['speaker'] = $speaker->getFirstName() . ' ' . $speaker->getLastName() . ' (' . $speaker->getTwitter() . ')';
             } else {
                 $meetupEvents[$event->meetup_id]['speaker'] = '-';
             }
             $meetupEvents[$event->meetup_id]['joindin_url'] = $event->joindin_url ?? '-';
         }
     }
 }