code: func NewIntegerResourceVersionMutationCache(backingCache Store, indexer Indexer, ttl time.Duration, includeAdds bool) MutationCache {
  	return &mutationCache{
  		backingCache:  backingCache,
  		indexer:       indexer,
  		mutationCache: utilcache.NewLRUExpireCache(100),
  		comparator:    etcdObjectVersioner{},
  		ttl:           ttl,
  		includeAdds:   includeAdds,
  	}
  }
docs: // NewIntegerResourceVersionMutationCache returns a MutationCache that understands how to
  // deal with objects that have a resource version that:
  //
  //   - is an integer
  //   - increases when updated
  //   - is comparable across the same resource in a namespace
  //
  // Most backends will have these semantics. Indexer may be nil. ttl controls how long an item
  // remains in the mutation cache before it is removed.
  //
  // If includeAdds is true, objects in the mutation cache will be returned even if they don't exist
  // in the underlying store. This is only safe if your use of the cache can handle mutation entries
  // remaining in the cache for up to ttl when mutations and deletes occur very closely in time.