@Override
  public Object clone() throws CloneNotSupportedException {
    DistributedSystemConfigImpl other = (DistributedSystemConfigImpl) super.clone();
    other.system = null;
    other.cacheServerConfigs = new HashSet();
    other.locatorConfigs = new HashSet();

    DistributionLocatorConfig[] myLocators = getDistributionLocatorConfigs();
    for (DistributionLocatorConfig locator : myLocators) {
      other.addDistributionLocatorConfig((DistributionLocatorConfig) locator.clone());
    }

    CacheServerConfig[] myCacheServers = getCacheServerConfigs();
    for (CacheServerConfig locator : myCacheServers) {
      other.addCacheServerConfig((CacheServerConfig) locator.clone());
    }

    return other;
  }
Makes a deep copy of this config object.
geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemConfigImpl.java