private void copySSLPropsToJMXSSLProps() {
    boolean jmxSSLEnabledOverriden = sourceMap.get(JMX_MANAGER_SSL_ENABLED) != null;
    boolean clusterSSLOverRidden = sourceMap.get(CLUSTER_SSL_ENABLED) != null;
    boolean hasSSLComponents = sourceMap.get(SSL_ENABLED_COMPONENTS) != null;

    if (clusterSSLOverRidden && !jmxSSLEnabledOverriden && !hasSSLComponents) {
      jmxManagerSSLEnabled = clusterSSLEnabled;
      sourceMap.put(JMX_MANAGER_SSL_ENABLED, sourceMap.get(CLUSTER_SSL_ENABLED));
      if (sourceMap.get(CLUSTER_SSL_CIPHERS) != null) {
        jmxManagerSslCiphers = clusterSSLCiphers;
        sourceMap.put(JMX_MANAGER_SSL_CIPHERS, sourceMap.get(CLUSTER_SSL_CIPHERS));
      }

      if (sourceMap.get(CLUSTER_SSL_PROTOCOLS) != null) {
        jmxManagerSslProtocols = clusterSSLProtocols;
        sourceMap.put(JMX_MANAGER_SSL_PROTOCOLS, sourceMap.get(CLUSTER_SSL_PROTOCOLS));
      }

      if (sourceMap.get(CLUSTER_SSL_REQUIRE_AUTHENTICATION) != null) {
        jmxManagerSslRequireAuthentication = clusterSSLRequireAuthentication;
        sourceMap.put(JMX_MANAGER_SSL_REQUIRE_AUTHENTICATION,
            sourceMap.get(CLUSTER_SSL_REQUIRE_AUTHENTICATION));
      }

      if (sourceMap.get(CLUSTER_SSL_KEYSTORE) != null) {
        jmxManagerSSLKeyStore = clusterSSLKeyStore;
        sourceMap.put(JMX_MANAGER_SSL_KEYSTORE, sourceMap.get(CLUSTER_SSL_KEYSTORE));
      }
      if (sourceMap.get(CLUSTER_SSL_KEYSTORE_TYPE) != null) {
        jmxManagerSSLKeyStoreType = clusterSSLKeyStoreType;
        sourceMap.put(JMX_MANAGER_SSL_KEYSTORE_TYPE,
            sourceMap.get(CLUSTER_SSL_KEYSTORE_TYPE));
      }
      if (sourceMap.get(CLUSTER_SSL_KEYSTORE_PASSWORD) != null) {
        jmxManagerSSLKeyStorePassword = clusterSSLKeyStorePassword;
        sourceMap.put(JMX_MANAGER_SSL_KEYSTORE_PASSWORD,
            sourceMap.get(CLUSTER_SSL_KEYSTORE_PASSWORD));
      }
      if (sourceMap.get(CLUSTER_SSL_TRUSTSTORE) != null) {
        jmxManagerSSLTrustStore = clusterSSLTrustStore;
        sourceMap.put(JMX_MANAGER_SSL_TRUSTSTORE, sourceMap.get(CLUSTER_SSL_TRUSTSTORE));
      }
      if (sourceMap.get(CLUSTER_SSL_TRUSTSTORE_PASSWORD) != null) {
        jmxManagerSSLTrustStorePassword = clusterSSLTrustStorePassword;
        sourceMap.put(JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD,
            sourceMap.get(CLUSTER_SSL_TRUSTSTORE_PASSWORD));
      }
      jmxManagerSslProperties.putAll(clusterSSLProperties);
    }

    if (jmxSSLEnabledOverriden) {
      if (sourceMap.get(JMX_MANAGER_SSL_KEYSTORE) == null
          && sourceMap.get(CLUSTER_SSL_KEYSTORE) != null) {
        jmxManagerSSLKeyStore = clusterSSLKeyStore;
        sourceMap.put(JMX_MANAGER_SSL_KEYSTORE, sourceMap.get(CLUSTER_SSL_KEYSTORE));
      }
      if (sourceMap.get(JMX_MANAGER_SSL_KEYSTORE_TYPE) == null
          && sourceMap.get(CLUSTER_SSL_KEYSTORE_TYPE) != null) {
        jmxManagerSSLKeyStoreType = clusterSSLKeyStoreType;
        sourceMap.put(JMX_MANAGER_SSL_KEYSTORE_TYPE,
            sourceMap.get(CLUSTER_SSL_KEYSTORE_TYPE));
      }
      if (sourceMap.get(JMX_MANAGER_SSL_KEYSTORE_PASSWORD) == null
          && sourceMap.get(CLUSTER_SSL_KEYSTORE_PASSWORD) != null) {
        jmxManagerSSLKeyStorePassword = clusterSSLKeyStorePassword;
        sourceMap.put(JMX_MANAGER_SSL_KEYSTORE_PASSWORD,
            sourceMap.get(CLUSTER_SSL_KEYSTORE_PASSWORD));
      }
      if (sourceMap.get(JMX_MANAGER_SSL_TRUSTSTORE) == null
          && sourceMap.get(CLUSTER_SSL_TRUSTSTORE) != null) {
        jmxManagerSSLTrustStore = clusterSSLTrustStore;
        sourceMap.put(JMX_MANAGER_SSL_TRUSTSTORE, sourceMap.get(CLUSTER_SSL_TRUSTSTORE));
      }
      if (sourceMap.get(JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD) == null
          && sourceMap.get(CLUSTER_SSL_TRUSTSTORE_PASSWORD) != null) {
        jmxManagerSSLTrustStorePassword = clusterSSLTrustStorePassword;
        sourceMap.put(JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD,
            sourceMap.get(CLUSTER_SSL_TRUSTSTORE_PASSWORD));
      }
    }
  }
if jmx-manager-ssl is true and jmx-manager-ssl-enabled is false then override
jmx-manager-ssl-enabled with jmx-manager-ssl if jmx-manager-ssl-enabled is false, then use the
properties from cluster-ssl-* properties if jmx-manager-ssl-*properties are given then use
them, and copy the unspecified jmx-manager properties from cluster-properties
geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java