code: public synchronized <K, V> BasicCacheHandle<K, V> getBasicCache( String named )
      {
          BasicCacheHandle handle = caches.computeIfAbsent( named, ( k ) -> {
              if ( remoteConfiguration.isEnabled() && remoteConfiguration.isRemoteCache( k ) )
              {
                  RemoteCache<K, V> cache = null;
                  try
                  {
                      cache = remoteCacheManager.getCache( k );
                      if ( cache == null )
                      {
                          logger.warn( "Can not get remote cache, name: {}", k );
                          return null;
                      }
                  }
                  catch ( Exception e )
                  {
                      logger.warn( "Get remote cache failed", e );
                      return null;
                  }
                  logger.info( "Get remote cache, name: {}", k );
                  return new RemoteCacheHandle( k, cache, metricsManager, getCacheMetricPrefix( k ) );
              }
docs: Get a BasicCache instance. If the remote cache is enabled, it will match the named with remote.patterns.
  If matched, it will create/return a RemoteCache. If not matched, an embedded cache will be created/returned to the caller.