private void validateSSLEnabledComponentsConfiguration() {
    Object value = null;
    try {
      Method method = getters.get(SSL_ENABLED_COMPONENTS);
      if (method != null) {
        value = method.invoke(this);
      }
    } catch (Exception e) {
      if (e instanceof RuntimeException) {
        throw (RuntimeException) e;
      }
      if (e.getCause() instanceof RuntimeException) {
        throw (RuntimeException) e.getCause();
      } else {
        throw new InternalGemFireException(
            "error invoking getter for property" + SSL_ENABLED_COMPONENTS);
      }
    }
    SecurableCommunicationChannel[] sslEnabledComponents = (SecurableCommunicationChannel[]) value;

    validateSlowReceiversIncompatibleWithSSL(sslEnabledComponents);

    for (SecurableCommunicationChannel securableCommunicationChannel : sslEnabledComponents) {
      if (!isAliasCorrectlyConfiguredForComponents(securableCommunicationChannel)) {
        throw new IllegalArgumentException(
            "The alias options for the SSL options provided seem to be invalid. Please check that all required aliases are set");
      }
    }
  }
Creates a new <code>DistributionConfigImpl</code> with the given non-default configuration
properties. See {@link DistributedSystem#connect} for a list of
exceptions that may be thrown.

@param nonDefault The configuration properties specified by the caller
@param ignoreGemFirePropsFile whether to skip loading distributed system properties from
       gemfire.properties file
@param isConnected whether to skip Validation for SSL properties and copy of ssl properties to
       other ssl properties. This parameter will be used till we provide support for ssl-*
       properties.

@since GemFire 8.0
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java