public function convertTimezone(DateTimeZone $fromTimezone, DateTimeZone $toTimezone = NULL) {
    $toTimezone = !empty($toTimezone) ? $toTimezone : new DateTimeZone($this->siteTimezone);
    $this->convertedTimezone = $fromTimezone;
    $new_date = new DateTime();
    $timestamp = $this->getDate()->getTimestamp() + $fromTimezone->getOffset($this->getDate());
    $new_date->setTimestamp($timestamp);
    $new_date->setTimezone($toTimezone);
    $this->date = $new_date;
    return $new_date;
  }