# File lib/rubyrep/logged_change.rb, line 101
    def load
      current_type = LONG_TYPES[type]

      org_key = new_key || key
      # change to key string as can be found in change log table
      org_key = session.send(database).primary_key_names(table).map do |key_name|
        "#{key_name}#{key_sep}#{org_key[key_name]}"
      end.join(key_sep)
      current_key = org_key

      while change = loader.load(table, current_key)

        new_type = change['change_type']
        current_type = TYPE_CHANGES["#{current_type}#{new_type}"]

        self.first_changed_at ||= change['change_time']
        self.last_changed_at = change['change_time']

        if change['change_type'] == 'U' and change['change_new_key'] != current_key
          current_key = change['change_new_key']
        end
      end

      self.type = SHORT_TYPES[current_type]
      self.new_key = nil
      if type == :update
        self.key ||= key_to_hash(org_key)
        self.new_key = key_to_hash(current_key)
      else
        self.key = key_to_hash(current_key)
      end
    end