private DeferredViewComputationCache getDeferredViewComputationCache(final ViewComputationCache cache) {
DeferredViewComputationCache deferred = s_deferredCaches.get(cache);
if (deferred == null) {
if (isUseWriteBehindSharedCache() || isUseWriteBehindPrivateCache()) {
deferred = new WriteBehindViewComputationCache(cache, getExecutorService(), isUseWriteBehindSharedCache(), isUseWriteBehindPrivateCache());
} else {
deferred = new DirectWriteViewComputationCache(cache);
}
final DeferredViewComputationCache existing = s_deferredCaches.putIfAbsent(cache, deferred);
if (existing != null) {