/**
  * Convert a simple array into a PersistentCollection of Event entities
  *
  * @return PersistentCollection
  */
 public function reverseTransform($submittedArray)
 {
     // Get a list of existing events and types
     /** @var PersistentCollection $events */
     $events = $this->webhook->getEvents();
     $eventTypes = $events->getKeys();
     // Check to see what events have been removed
     $removed = array_diff($eventTypes, $submittedArray);
     if ($removed) {
         foreach ($removed as $type) {
             $this->webhook->removeEvent($events[$type]);
         }
     }
     // Now check to see what events have been added
     $added = array_diff($submittedArray, $eventTypes);
     if ($added) {
         foreach ($added as $type) {
             // Create a new entity
             $event = new Event();
             $event->setWebhook($this->webhook)->setEventType($type);
             $events[] = $event;
         }
     }
     $this->webhook->setEvents($events);
     return $events;
 }
 /**
  * {@inheritDoc}
  */
 public function setWebhook($webhook)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWebhook', array($webhook));
     return parent::setWebhook($webhook);
 }