code: func (c *ConnectCALeaf) fetchStart(rootUpdateCh chan struct{}) {
  	c.rootWatchMu.Lock()
  	defer c.rootWatchMu.Unlock()
  	// Lazy allocation
  	if c.rootWatchSubscribers == nil {
  		c.rootWatchSubscribers = make(map[chan struct{}]struct{})
  	}
  	// Make sure a root watcher is running. We don't only do this on first request
  	// to be more tolerant of errors that could cause the root watcher to fail and
  	// exit.
  	if c.rootWatchCancel == nil {
  		ctx, cancel := context.WithCancel(context.Background())
  		c.rootWatchCancel = cancel
  		go c.rootWatcher(ctx)
  	}
  	c.rootWatchSubscribers[rootUpdateCh] = struct{}{}
  }
docs: // fetchStart is called on each fetch that is about to block and wait for
  // changes to the leaf. It subscribes a chan to receive updates from the shared
  // root watcher and triggers root watcher if it's not already running.