# File lib/rubyrep/logged_change_loader.rb, line 156
    def load(change_table, change_key)
      update
      change = nil
      table_change_tree = change_tree[change_table]
      if table_change_tree
        key_changes = table_change_tree[change_key]
        if key_changes
          # get change object and delete from key_changes
          change = key_changes.shift

          # delete change from change_array
          change_array[change['array_index']] = nil

          # delete change from database
          connection.execute "delete from #{change_log_table} where id = #{change['id']}"

          # delete key_changes if empty
          if key_changes.empty?
            table_change_tree.delete change_key
          end

          # delete table_change_tree if empty
          if table_change_tree.empty?
            change_tree.delete change_table
          end

          # reset everything if no more changes remain
          if change_tree.empty?
            init_cache
          end
        end
      end
      change
    end