/**
  * Get Event dictionary for given tracking event
  *
  * @param TrackingEvent $event
  * @return TrackingEventDictionary
  */
 protected function getEventType(TrackingEvent $event)
 {
     $eventWebsite = $event->getWebsite();
     if ($eventWebsite && isset($this->eventDictionary[$eventWebsite->getId()], $this->eventDictionary[$eventWebsite->getId()][$event->getName()])) {
         $eventType = $this->eventDictionary[$eventWebsite->getId()][$event->getName()];
     } else {
         $eventType = $this->getEntityManager()->getRepository('OroTrackingBundle:TrackingEventDictionary')->findOneBy(['name' => $event->getName(), 'website' => $eventWebsite]);
     }
     if (!$eventType) {
         $eventType = new TrackingEventDictionary();
         $eventType->setName($event->getName());
         $eventType->setWebsite($eventWebsite);
         $this->getEntityManager()->persist($eventType);
         $this->eventDictionary[$eventWebsite ? $eventWebsite->getId() : null][$event->getName()] = $eventType;
     }
     return $eventType;
 }