    # File lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb, line 44
        def initialize(start_transition, end_transition, offset = nil)
          @start_transition = start_transition
          @end_transition = end_transition

          if offset
            raise ArgumentError, 'Offset specified with transitions' if @start_transition || @end_transition
            @offset = offset
          else
            if @start_transition
              @offset = @start_transition.offset
            elsif @end_transition
              @offset = @end_transition.previous_offset
            else
              raise ArgumentError, 'No offset specified and no transitions to determine it from'
            end
          end

          @utc_total_offset_rational = nil
        end