code: public synchronized void deregisterSSLConfigChangeListener(SSLConfigChangeListener listener) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "deregisterSSLConfigChangeListener", new Object[] { listener });
          if (null == listener) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  Tr.exit(tc, "deregisterSSLConfigChangeListener");
              return;
          }
  
          SSLConfigChangeEvent event = null;
  
          if (sslConfigListenerEventMap.containsKey(listener))
              event = sslConfigListenerEventMap.get(listener);
  
          if (event != null) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "Removing listener: " + listener.getClass().getName());
  
              String alias = event.getAlias();
              if (sslConfigListenerMap.containsKey(alias)) {
                  List<SSLConfigChangeListener> listenerList = sslConfigListenerMap.get(alias);
                  if (listenerList != null) {
                      int index = listenerList.indexOf(listener);
  
                      if (index != -1)
                          listenerList.remove(index);
                  }
              }
  
              sslConfigListenerEventMap.remove(listener);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "deregisterSSLConfigChangeListener");
      }
docs: *
  This method is called by JSSEHelper to deregister listeners.
  
  @param listener
  *