/** {@inheritDoc} */
  @Override
  protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
    IgniteConfiguration c = super.getConfiguration(gridName);

    CacheConfiguration atomicCacheCfg = cacheConfiguration0();

    atomicCacheCfg.setName(CACHE_ATOMIC);
    atomicCacheCfg.setAtomicityMode(ATOMIC);
    atomicCacheCfg.setAtomicWriteOrderMode(PRIMARY);

    CacheConfiguration atomicOffheapCacheCfg = offheapCacheConfiguration0();

    atomicOffheapCacheCfg.setName(CACHE_ATOMIC_OFFHEAP);
    atomicOffheapCacheCfg.setAtomicityMode(ATOMIC);
    atomicOffheapCacheCfg.setAtomicWriteOrderMode(PRIMARY);

    CacheConfiguration atomicOffheapTieredCacheCfg = offheapTieredCacheConfiguration();

    atomicOffheapTieredCacheCfg.setName(CACHE_ATOMIC_OFFHEAP_TIERED);
    atomicOffheapTieredCacheCfg.setAtomicityMode(ATOMIC);
    atomicOffheapTieredCacheCfg.setAtomicWriteOrderMode(PRIMARY);

    c.setCacheConfiguration(
        cacheConfiguration(),
        offheapCacheConfiguration(),
        offheapTieredCacheConfiguration(),
        atomicCacheCfg,
        atomicOffheapCacheCfg,
        atomicOffheapTieredCacheCfg);

    c.setSwapSpaceSpi(new FileSwapSpaceSpi());

    c.setPeerClassLoadingEnabled(peerClassLoading());

    return c;
  }