CachedObject gets out of sync when multiple CachedObjects share the same cache
The cached object now uses the non-null value obtained from the cache instead of the locally cached value in case of a cache hit. The locally cached value is only used when computing the new value fails in case of a cache miss.