def at(ts = nil, time: nil, version: nil)
      Deprecations.show_ts_deprecation_for("#at") if ts

      return at_version(version) if version

      time ||= ts
      time = parse_time(time)

      return nil unless log_data.exists_ts?(time)

      if log_data.current_ts?(time)
        self.logidze_requested_ts = time
        return self
      end

      log_entry = log_data.find_by_time(time)

      build_dup(log_entry, time)
    end
def at(ts = nil, time: nil, version: nil)
      Deprecations.show_ts_deprecation_for("#at") if ts

      return at_version(version) if version

      time ||= ts
      time = parse_time(time)

      return nil unless log_data.exists_ts?(time)

      if log_data.current_ts?(time)
        self.logidze_requested_ts = time
        return self
      end

      log_entry = log_data.find_by_time(time)

      build_dup(log_entry, time)
    end
Return a dirty copy of record at specified time
 If time/version is less then the first version, then return nil.
 If time/version is greater then the last version, then return self.
 rubocop: disable Metrics/MethodLength