code: @Override
      public synchronized void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException {
          if (logger.isLoggable(Level.FINER)) {
              logger.logp(Level.FINER, logger.getName(), "removeConnectionNotificationListener", "listener: " + listener);
          }
  
          boolean listenerFound = false;
          if (connectionListeners != null) {
              Iterator<NotificationListenerEntry> entryIterator = connectionListeners.iterator();
              while (entryIterator.hasNext()) {
                  if (entryIterator.next().listener == listener) {
                      listenerFound = true;
                      entryIterator.remove();
                  }
              }
          }
  
          if (!listenerFound)
              throw new ListenerNotFoundException();
      }
docs: {@inheritDoc}