can't suspend the cache(...) method which is holding the write lock while trying to read using get(...).
Now suspending the computeCacheUpdate method. This still lets get(...) read null, but during
computeCacheUpdate the write lock for the key isn't held by the cache yet. Therefore, the get can proceed.