caller of CacheResolver.Resolve owns result