code: private DistributedObjectCache createDistributedObjectCache(CacheConfig config) {
          final String methodName = "createDistributedObjectCache()";
          if (tc.isEntryEnabled())
              Tr.entry(tc, methodName + " cacheName=" + (config != null ? config.getCacheName() : "null"));
  
          DCache dCache = ServerCache.createCache(config.getCacheName(), config);
          config.setCache(dCache);
          DistributedObjectCache distributedObjectCache = null;
  
          if (config.isEnableNioSupport()) {
              distributedObjectCache = new DistributedNioMapImpl(dCache);
          } else {
              distributedObjectCache = new DistributedMapImpl(dCache);
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, methodName + " distributedObjectCache=" + distributedObjectCache);
          return distributedObjectCache;
      }
docs: Create a DistributedObjectCache from a cacheConfig object.
  
  Entry ( only call this method once per cache name ) config != null config.distributedObjectCache == null Exit
  newly created DistributedObjectCache
  
  @param config
  @return The returned object will be a DistributedMap, DistributedLockingMap or DistributedNioMap.