code: func (l *lockTracker) Lock(id string) {
  	l.seenMu.RLock()
  	if _, seen := l.seen[id]; !seen {
  		l.seenMu.RUnlock()
  		l.seenMu.Lock()
  		l.seen[id] = struct{}{}
  		l.seenMu.Unlock()
  	} else {
  		l.seenMu.RUnlock()
  	}
  
  	l.Locker.Lock(id)
  }
docs: // Lock tracks the ids in use. We use this information to do garbage collection
  // after a Hugo build.