{
cache = createPageCache(pageId);
needToRead = true;
// anyone reading from this cache will have to wait reading to finish first
// we also want only one thread reading this cache
cache.lock();
softCache.put(pageId, cache);
}
}
// Reading is done outside of the synchronized block, however