class WanAwareToolkitCache implements BufferingToolkitCache<K, V>, Watchable {

  public boolean isReady() {
    Boolean active = (Boolean) configMap.get(CACHE_ACTIVE_KEY);
    if (isMasterCache()) {
      return active != null && active;
    }

    return active != null && active && (isOrchestratorAlive() || !bidirectional);
  }

  public  WanAwareToolkitCache(final BufferingToolkitCache<K, V> delegate,
                              final ToolkitMap<String, Serializable> configMap,
                              final NonStopFeature nonStop,
                              final ToolkitLock activeLock,
                              final CacheConfiguration cacheConfiguration,
                              final boolean masterCache,
                              final boolean bidirectional);
    WanAwareToolkitCache(final BufferingToolkitCache<K, V> delegate,
                       final ConcurrentMap<String, Serializable> configMap,
                       final NonStopFeature nonStop,
                       final ToolkitLock configMapLock,
                       final ToolkitLock activeLock,
                       final CacheConfiguration cacheConfiguration,
                       final boolean masterCache,
                       final boolean bidirectional);

}