docs: public synchronized void notifySSLConfigChangeListener(String alias, String state) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "notifySSLConfigChangeListener", new Object[] { alias, state });
  
          if (alias != null) {
              List<SSLConfigChangeListener> listenerList = sslConfigListenerMap.get(alias);
  
              if (listenerList != null && listenerList.size() > 0) {
                  SSLConfigChangeListener[] listenerArray = listenerList.toArray(new SSLConfigChangeListener[listenerList.size()]);
  
                  for (int i = 0; i < listenerArray.length; i++) {
                      SSLConfigChangeEvent event = null;
  
                      // get the event associated with the listener
                      event = sslConfigListenerEventMap.get(listenerArray[i]);
  
                      if (event != null) {
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                              Tr.debug(tc, "Notifying listener[" + i + "]: " + listenerArray[i].getClass().getName());
                          event.setState(state);
                          SSLConfig changedConfig = sslConfigMap.get(alias);
                          event.setChangedSSLConfig(changedConfig);
                          listenerArray[i].stateChanged(event);
  
                          if (state.equals(Constants.CONFIG_STATE_DELETED)) {
                              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                                  Tr.debug(tc, "Deregistering event for listener.");
                              sslConfigListenerEventMap.remove(listenerArray[i]);
                          }
                      }
                  }
  
                  if (state.equals(Constants.CONFIG_STATE_DELETED)) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Deregistering all listeners for this alias due to alias deletion.");
                      sslConfigListenerMap.remove(alias);
                  }
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "notifySSLConfigChangeListener");
      }