docs: @SuppressWarnings("unchecked")
      public synchronized <K, V> StoreClient<K, V> getStoreClient(String storeName,
                                                     InconsistencyResolver<Versioned<V>> resolver) {
          Pair<String, Object> key = Pair.create(storeName, (Object) resolver);
          if(!cache.containsKey(key)) {
              StoreClient<K, V> result = inner.getStoreClient(storeName, resolver);
              cache.putIfAbsent(key, result);
          }
  
          return (StoreClient<K, V>) cache.get(key);
      }