def set_timezone_offset(timezone_offset)
      raise ArgumentError, 'timezone_offset must be specified' unless timezone_offset
      raise ArgumentError, 'timezone_offset.observed_utc_offset does not match self.utc_offset' if utc? || utc_offset != timezone_offset.observed_utc_offset
      @timezone_offset = timezone_offset
      self
    end
def set_timezone_offset(timezone_offset)
      raise ArgumentError, 'timezone_offset must be specified' unless timezone_offset
      raise ArgumentError, 'timezone_offset.observed_utc_offset does not match self.utc_offset' if utc? || utc_offset != timezone_offset.observed_utc_offset
      @timezone_offset = timezone_offset
      self
    end
Sets the associated {TimezoneOffset} of this {TimestampWithOffset}.

 @param timezone_offset [TimezoneOffset] a {TimezoneOffset} valid at the time
   and for the offset of this {TimestampWithOffset}.
 @return [TimestampWithOffset] `self`.
 @raise [ArgumentError] if `timezone_offset` is `nil`.
 @raise [ArgumentError] if {utc? self.utc?} is `true`.
 @raise [ArgumentError] if `timezone_offset.observed_utc_offset` does not equal
   `self.utc_offset`.