docs: def load(self, data):
          """Add a bunch of data. Must be in chronological order.
  
          But it doesn't need to all be from the same branch, as long as
          each branch is chronological of itself.
  
          """
          branches = defaultdict(list)
          for row in data:
              branches[row[-4]].append(row)
          # Make keycaches and valcaches. Must be done chronologically
          # to make forwarding work.
          childbranch = self.db._childbranch
          branch2do = deque(['trunk'])
  
          store = self._store
          while branch2do:
              branch = branch2do.popleft()
              for row in branches[branch]:
                  store(*row, planning=False, loading=True)
              if branch in childbranch:
                  branch2do.extend(childbranch[branch])