code: func NewUpdatesCollector(
  	db Kvdb,
  	prefix string,
  	startIndex uint64,
  ) (UpdatesCollector, error) {
  	collector := &updatesCollectorImpl{updates: make([]*kvdbUpdate, 0),
  		startIndex: startIndex}
  	logrus.Infof("Starting collector watch on %v at %v", prefix, startIndex)
  	if err := db.WatchTree(prefix, startIndex, nil, collector.watchCb); err != nil {
  		return nil, err
  	}
  	return collector, nil
  }
docs: // NewUpdatesCollector creates new Kvdb collector that collects updates
  // starting at startIndex + 1 index.