code: func (t *watcherTree) add(w *BufferWatcher) {
  	for _, p := range w.Prefixes {
  		prefix := string(p)
  		val, ok := t.Tree.Get(prefix)
  		var watchers []*BufferWatcher
  		if ok {
  			watchers = val.([]*BufferWatcher)
  		}
  		watchers = append(watchers, w)
  		t.Tree.Insert(prefix, watchers)
  	}
  }
docs: // add adds buffer watcher to the tree