code: func (l SecondaryLayer) Put(k RouteInfo, finalizers ...func()) (added int) {
  	l.lock.Lock()
  	l.store.Put(k, func(oldV *FinalizerList, exists bool) (newV *FinalizerList, write bool) {
  		if !exists || oldV == nil {
  			if len(finalizers) == 0 {
  				return nil, true
  			}
  			oldV = &FinalizerList{}
  		}
  		for i := range finalizers {
  			if oldV.AddFinalizer(finalizers[i]) {
  				added++
  			}
  		}
  		return oldV, true
  	})
  	l.lock.Unlock()
  	return
  }
docs: // Put adds finalizers for the key, creating the item if not exists yet.