code: func (f *FIFO) Resync() error {
  	f.lock.Lock()
  	defer f.lock.Unlock()
  
  	inQueue := sets.NewString()
  	for _, id := range f.queue {
  		inQueue.Insert(id)
  	}
  	for id := range f.items {
  		if !inQueue.Has(id) {
  			f.queue = append(f.queue, id)
  		}
  	}
  	if len(f.queue) > 0 {
  		f.cond.Broadcast()
  	}
  	return nil
  }
docs: // Resync will touch all objects to put them into the processing queue