docs: def stream(self, handler, whenDone=None):
      """
      Fetches data from river streams and feeds them into the given function.
      :param handler: (function) passed headers [list] and row [list] of the data
                      for one time step, for every row of data
      """
      self._createConfluence()
      headers = ["timestamp"] + self.getStreamIds()
      for row in self._confluence:
        handler(headers, row)
      
      if whenDone is not None:
        return whenDone()