Properties createDistributedSystemProperties() {
    Properties properties = new Properties();

    // Add any additional gemfire properties
    properties.putAll(gemfireProperties);

    // Replace the cache xml file in the properties
    File cacheXmlFile = getCacheXmlFile();
    String absoluteCacheXmlFileName = cacheXmlFile.getAbsolutePath();
    // If the file doesn't exist and the name is the default, set cache-xml-file
    // to the GemFire default. This is for the case where only the jars have been
    // installed and no default cache.xml exists in the conf directory.
    if (getCacheXmlFileName().equals(getDefaultCacheXmlFileName()) && !cacheXmlFile.exists()) {
      absoluteCacheXmlFileName = DEFAULT_CACHE_XML_FILE;
    }
    properties.put(CACHE_XML_FILE, absoluteCacheXmlFileName);

    // Replace the log file in the properties
    properties.put(LOG_FILE, getLogFile().getAbsolutePath());

    // Replace the statistics archive file in the properties
    File statisticArchiveFile = getStatisticArchiveFile();
    if (statisticArchiveFile == null) {
      // Remove the statistics archive file name since statistic sampling is disabled
      properties.remove(STATISTIC_ARCHIVE_FILE);
      properties.remove(STATISTIC_SAMPLING_ENABLED);
    } else {
      properties.put(STATISTIC_ARCHIVE_FILE, statisticArchiveFile.getAbsolutePath());
    }
    getLogger().info("Creating distributed system from: " + properties);

    return properties;
  }
Instance reference which is set in static initialization blocks of any subclasses.
extensions/geode-modules/src/main/java/org/apache/geode/modules/session/bootstrap/AbstractCache.java