public function hydrate(CalendarDateTime $dt, Calendar $calendar)
 {
     $this->CachedCalendarID = $calendar->ID;
     foreach ($dt->db() as $field => $type) {
         $this->{$field} = $dt->{$field};
     }
     foreach ($dt->has_one() as $field => $type) {
         $this->{$field . "ID"} = $dt->{$field . "ID"};
     }
     $this->DateRange = $dt->DateRange();
     $this->TimeRange = $dt->TimeRange();
     $this->ICSLink = $dt->ICSLink();
     $this->Title = $dt->getTitle();
     $this->Content = $dt->getContent();
     return $this;
 }