code: func (s *Sanitizer) CompareAndSwap(ctx context.Context, expected Item, replaceWith Item) (*Lease, error) {
  	if !isKeySafe(expected.Key) {
  		return nil, trace.BadParameter(errorMessage)
  	}
  
  	return s.backend.CompareAndSwap(ctx, expected, replaceWith)
  }
docs: // CompareAndSwap compares item with existing item
  // and replaces is with replaceWith item