/**
  * Sets the time zone.
  *
  * @link http://php.net/manual/en/datetimeimmutable.settimezone.php
  *
  * @param DateTimeZone $timezone
  *
  * @return DateTimeImmutable
  */
 public function setTimezone($timezone)
 {
     if (self::$_immutable) {
         self::$_immutable = false;
         $newDate = clone $this;
         $newDate->setTimezone($timezone);
         self::$_immutable = true;
         return $newDate;
     } else {
         return parent::setTimezone($timezone);
     }
 }