docs: public synchronized Properties determineIfCSIv2SettingsApply(Properties config, Map<String, Object> connectionInfo) throws SSLException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "determineIfCSIv2SettingsApply", new Object[] { connectionInfo });
          Properties newConfig = null;
  
          if (connectionInfo != null) {
              String endPointName = (String) connectionInfo.get(Constants.CONNECTION_INFO_ENDPOINT_NAME);
              String direction = (String) connectionInfo.get(Constants.CONNECTION_INFO_DIRECTION);
  
              if (endPointName != null
                  && (endPointName.equals(Constants.ENDPOINT_ORB_SSL_LISTENER_ADDRESS) || endPointName.equals(Constants.ENDPOINT_CSIV2_SERVERAUTH)
                      || endPointName.equals(Constants.ENDPOINT_CSIV2_MUTUALAUTH))
                  && direction != null && direction.equals(Constants.DIRECTION_INBOUND)) {
                  String sslAlias = globalConfigProperties.getProperty("com.ibm.ssl.csi.inbound.alias");
  
                  if (sslAlias != null && sslAlias.length() > 0) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Getting inbound SSL config with alias: " + sslAlias);
                      newConfig = getProperties(sslAlias);
                  }
  
                  if (newConfig != null) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Cloning CSIv2 alias reference configuration.");
                      newConfig = (Properties) newConfig.clone();
                  } else {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Cloning JSSEHelper configuration.");
                      newConfig = (Properties) config.clone();
                  }
  
                  if (newConfig != null) {
                      String claimSSLClientAuthSupported = globalConfigProperties.getProperty("com.ibm.CSI.claimTLClientAuthenticationSupported");
                      String claimSSLClientAuthRequired = globalConfigProperties.getProperty("com.ibm.CSI.claimTLClientAuthenticationRequired");
  
                      if (claimSSLClientAuthSupported != null) {
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                              Tr.debug(tc, "Setting client auth supported: " + claimSSLClientAuthSupported);
                          newConfig.setProperty(Constants.SSLPROP_CLIENT_AUTHENTICATION_SUPPORTED, claimSSLClientAuthSupported);
                      }
  
                      if (claimSSLClientAuthRequired != null) {
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                              Tr.debug(tc, "Setting client auth required: " + claimSSLClientAuthRequired);
                          newConfig.setProperty(Constants.SSLPROP_CLIENT_AUTHENTICATION, claimSSLClientAuthRequired);
                      }
  
                      /***
                       * UNCOMMENT IF INTEGRITY/CONFIDENTIALITY APPLY FROM CSIV2 CONFIG
                       * String claimSSLIntegritySupported =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageIntegritySupported"); String
                       * claimSSLConfidentialitySupported =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageConfidentialitySupported");
                       *
                       * boolean integrity = false; boolean confidentiality = false; if
                       * (claimSSLIntegritySupported != null &&
                       * claimSSLIntegritySupported.equals(Constants.TRUE)) integrity =
                       * true; if (claimSSLConfidentialitySupported != null &&
                       * claimSSLConfidentialitySupported.equals(Constants.TRUE))
                       * confidentiality = true;
                       *
                       * String claimSSLIntegrityRequired =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageIntegrityRequired"); String
                       * claimSSLConfidentialityRequired =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageConfidentialityRequired");
                       *
                       * if (claimSSLIntegrityRequired != null &&
                       * claimSSLIntegrityRequired.equals(Constants.TRUE)) integrity = true;
                       * if (claimSSLConfidentialityRequired != null &&
                       * claimSSLConfidentialityRequired.equals(Constants.TRUE))
                       * confidentiality = true;
                       *
                       * String securityLevel = Constants.SECURITY_LEVEL_HIGH; if (integrity
                       * && confidentiality) securityLevel = Constants.SECURITY_LEVEL_HIGH;
                       * else if (integrity || confidentiality) securityLevel =
                       * Constants.SECURITY_LEVEL_MEDIUM; else securityLevel =
                       * Constants.SECURITY_LEVEL_LOW;
                       *
                       * if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                       * Tr.debug(tc,"Setting security level: " + securityLevel);
                       * newConfig.setProperty(Constants.SSLPROP_SECURITY_LEVEL,
                       * securityLevel);
                       ***/
  
                      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                          Tr.exit(tc, "determineIfCSIv2SettingsApply (settings applied)");
                      return newConfig;
                  }
              } else if (Constants.ENDPOINT_IIOP.equals(endPointName) && Constants.DIRECTION_OUTBOUND.equals(direction)) {
                  String sslAlias = globalConfigProperties.getProperty("com.ibm.ssl.csi.outbound.alias");
  
                  if (sslAlias != null && sslAlias.length() > 0) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Getting outbound SSL config with alias: " + sslAlias);
                      newConfig = getProperties(sslAlias);
                  }
  
                  if (newConfig != null) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Cloning CSIv2 alias reference configuration.");
                      newConfig = (Properties) newConfig.clone();
                  } else {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Cloning JSSEHelper configuration.");
                      newConfig = (Properties) config.clone();
                  }
  
                  if (newConfig != null) {
                      /***
                       * UNCOMMENT IF INTEGRITY/CONFIDENTIALITY APPLY FROM CSIV2 CONFIG
                       * String claimSSLIntegritySupported =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageIntegritySupported"); String
                       * claimSSLConfidentialitySupported =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageConfidentialitySupported");
                       *
                       * boolean integrity = false; boolean confidentiality = false; if
                       * (claimSSLIntegritySupported != null &&
                       * claimSSLIntegritySupported.equals(Constants.TRUE)) integrity =
                       * true; if (claimSSLConfidentialitySupported != null &&
                       * claimSSLConfidentialitySupported.equals(Constants.TRUE))
                       * confidentiality = true;
                       *
                       * String claimSSLIntegrityRequired =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageIntegrityRequired"); String
                       * claimSSLConfidentialityRequired =
                       * globalConfigProperties.getProperty
                       * ("com.ibm.CSI.claimMessageConfidentialityRequired");
                       *
                       * if (claimSSLIntegrityRequired != null &&
                       * claimSSLIntegrityRequired.equals(Constants.TRUE)) integrity = true;
                       * if (claimSSLConfidentialityRequired != null &&
                       * claimSSLConfidentialityRequired.equals(Constants.TRUE))
                       * confidentiality = true;
                       *
                       * String securityLevel = Constants.SECURITY_LEVEL_HIGH; if (integrity
                       * && confidentiality) securityLevel = Constants.SECURITY_LEVEL_HIGH;
                       * else if (integrity || confidentiality) securityLevel =
                       * Constants.SECURITY_LEVEL_MEDIUM; else securityLevel =
                       * Constants.SECURITY_LEVEL_LOW;
                       *
                       * if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                       * Tr.debug(tc,"Setting security level: " + securityLevel);
                       * newConfig.setProperty(Constants.SSLPROP_SECURITY_LEVEL,
                       * securityLevel);
                       ***/
  
                      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                          Tr.exit(tc, "determineIfCSIv2SettingsApply (settings applied)");
                      return newConfig;
                  }
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "determineIfCSIv2SettingsApply (original settings)");
          return config;
      }