@Override
 public boolean containsValue(Object value) throws UnsupportedOperationException {
   lock.readLock().lock();
   try {
     return activeDelegate.containsValue(value);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public Map<K, V> unlockedGetAll(Collection<K> keys, boolean quiet) {
   lock.readLock().lock();
   try {
     return activeDelegate.unlockedGetAll(keys, quiet);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public Map<K, V> getAllQuiet(Collection<K> keys) {
   lock.readLock().lock();
   try {
     return activeDelegate.getAllQuiet(keys);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void clearLocalCache() {
   lock.readLock().lock();
   try {
     activeDelegate.clearLocalCache();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void removeAll(Set<K> keys) {
   lock.readLock().lock();
   try {
     activeDelegate.removeAll(keys);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public Map<Object, Set<ClusterNode>> getNodesWithKeys(Set portableKeys) {
   lock.readLock().lock();
   try {
     return activeDelegate.getNodesWithKeys(portableKeys);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void unlockedRemoveNoReturn(Object k) {
   lock.readLock().lock();
   try {
     activeDelegate.unlockedRemoveNoReturn(k);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public long localOffHeapSizeInBytes() {
   lock.readLock().lock();
   try {
     return activeDelegate.localOffHeapSizeInBytes();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public int localOffHeapSize() {
   lock.readLock().lock();
   try {
     return activeDelegate.localOffHeapSize();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public boolean replace(K key, V oldValue, V newValue) {
   lock.readLock().lock();
   try {
     return activeDelegate.replace(key, oldValue, newValue);
   } finally {
     lock.readLock().unlock();
   }
 }
 public ClusteredStoreBackend(
     ToolkitInternal toolkit,
     ToolkitCacheInternal<K, V> cache,
     BulkLoadShutdownHook bulkLoadShutdownHook) {
   this.cache = cache;
   this.bulkloadCache =
       new BulkLoadToolkitCache<K, V>(toolkit, cache.getName(), cache, bulkLoadShutdownHook);
   this.activeDelegate = cache;
 }
 @Override
 public boolean remove(Object key, Object value) {
   lock.readLock().lock();
   try {
     return activeDelegate.remove(key, value);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public Collection<V> values() {
   lock.readLock().lock();
   try {
     return activeDelegate.values();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public Set<java.util.Map.Entry<K, V>> entrySet() {
   lock.readLock().lock();
   try {
     return activeDelegate.entrySet();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public boolean isDestroyed() {
   lock.readLock().lock();
   try {
     return activeDelegate.isDestroyed();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public ToolkitReadWriteLock createLockForKey(K key) {
   lock.readLock().lock();
   try {
     return activeDelegate.createLockForKey(key);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public String getName() {
   lock.readLock().lock();
   try {
     return activeDelegate.getName();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public int size() {
   lock.readLock().lock();
   try {
     return activeDelegate.size();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void unlockedPutNoReturn(K k, V v, int createTime, int customTTI, int customTTL) {
   lock.readLock().lock();
   try {
     activeDelegate.unlockedPutNoReturn(k, v, createTime, customTTI, customTTL);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public boolean containsKey(Object key) {
   lock.readLock().lock();
   try {
     return activeDelegate.containsKey(key);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public V unlockedGet(Object k, boolean quiet) {
   lock.readLock().lock();
   try {
     return activeDelegate.unlockedGet(k, quiet);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public V put(K key, V value) {
   lock.readLock().lock();
   try {
     return activeDelegate.put(key, value);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void setAttributeExtractor(ToolkitAttributeExtractor extractor) {
   lock.readLock().lock();
   try {
     activeDelegate.setAttributeExtractor(extractor);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public V remove(Object key) {
   lock.readLock().lock();
   try {
     return activeDelegate.remove(key);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public QueryBuilder createQueryBuilder() {
   lock.readLock().lock();
   try {
     return activeDelegate.createQueryBuilder();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void putAll(Map<? extends K, ? extends V> m) {
   lock.readLock().lock();
   try {
     activeDelegate.putAll(m);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public V getQuiet(Object key) {
   lock.readLock().lock();
   try {
     return activeDelegate.getQuiet(key);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public Set<K> keySet() {
   lock.readLock().lock();
   try {
     return activeDelegate.keySet();
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void addListener(ToolkitCacheListener<K> listener) {
   lock.readLock().lock();
   try {
     activeDelegate.addListener(listener);
   } finally {
     lock.readLock().unlock();
   }
 }
 @Override
 public void setConfigField(String name, Serializable value) {
   lock.readLock().lock();
   try {
     activeDelegate.setConfigField(name, value);
   } finally {
     lock.readLock().unlock();
   }
 }