protected function adjustDependentFields()
    {
        // Recurring-event fields
        if (array_key_exists('repeats', $this->aProperties) && !$this->repeats) {
            $this->frequency = null;
            $this->interval = self::INTERVAL_ONCE;
            $this->setWeekdays();
            $this->ends_at = null;
        }

        // Datetimes & timezone
        if (!is_null($this->strStartsAt)) {
            $this->aProperties['starts_at'] = Carbon::parse($this->strStartsAt, $this->strTimezone)
                ->setTimezone('UTC')
                ->toDateTimeString();
        }
        if (!is_null($this->strEndsAt)) {
            $this->aProperties['ends_at'] = Carbon::parse($this->strEndsAt, $this->strTimezone)
                ->setTimezone('UTC')
                ->toDateTimeString();
        }
    }