function __construct(ImportedEventModel $importedEvent)
 {
     $reoccur = $importedEvent->getReoccur();
     if (isset($reoccur) && isset($reoccur['ical_rrule']) && $reoccur['ical_rrule']) {
         $icaldata = new ICalData(clone $importedEvent->getStartAt(), clone $importedEvent->getEndAt(), $reoccur['ical_rrule'], $importedEvent->getTimezone());
         if (isset($reoccur['ical_exdates']) && is_array($reoccur['ical_exdates'])) {
             foreach ($reoccur['ical_exdates'] as $exdate) {
                 $icaldata->addExDateByString($exdate['values'], $exdate['properties']);
             }
         }
         $unraveler = new Unraveler($icaldata);
         $unraveler->setIncludeOriginalEvent(true);
         $unraveler->process();
         $results = $unraveler->getResults();
         foreach ($results as $wantedTimes) {
             $newImportedOccurrenceEvent = new ImportedEventOccurrenceModel();
             $newImportedOccurrenceEvent->setFromImportedEventModel($importedEvent);
             $newImportedOccurrenceEvent->setStartAt($wantedTimes->getStart());
             $newImportedOccurrenceEvent->setEndAt($wantedTimes->getEnd());
             $this->importedEventOccurrences[] = $newImportedOccurrenceEvent;
         }
         $this->toMultiples = true;
     } else {
         // If not a reoccuring event, there will still be 1 occurence .....
         $newImportedOccurrenceEvent = new ImportedEventOccurrenceModel();
         $newImportedOccurrenceEvent->setFromImportedEventModel($importedEvent);
         $this->importedEventOccurrences[] = $newImportedOccurrenceEvent;
         $this->toMultiples = false;
     }
 }