docs: protected synchronized PrefixedProperties createProperties() {
  		if (myProperties == null) {
  			PrefixedProperties resultProperties = null;
  			String environment = defaultPrefix;
  			if (environmentFactory != null) {
  				environment = environmentFactory.getEnvironment();
  			} else if (defaultPrefixSystemPropertyKey != null) {
  				environment = System.getProperty(defaultPrefixSystemPropertyKey);
  				if (environment == null) {
  					if (logger.isWarnEnabled()) {
  						logger.warn(String.format("Didn't found system property key to set default prefix: %1s",
  								defaultPrefixSystemPropertyKey));
  					}
  				}
  			}
  			if (prefixConfigList != null) {
  				resultProperties = PrefixedProperties.createCascadingPrefixProperties(prefixConfigList);
  			} else {
  				if (environment != null) {
  					resultProperties = PrefixedProperties.createCascadingPrefixProperties(environment);
  				} else {
  					resultProperties = new PrefixedProperties();
  				}
  			}
  			resultProperties.setDefaultPrefix(environment);
  			if (logger.isInfoEnabled()) {
  				logger.info(String.format("Setting default prefix to: %1s", environment));
  			}
  			resultProperties.setMixDefaultAndLocalPrefixSettings(mixDefaultAndLocalPrefixConfigurations);
  			myProperties = resultProperties;
  		}
  		return myProperties;
  	}