docs: protected void unregisterNotificationListeners(ClassLoaderLeakPreventor preventor, NotificationBroadcasterSupport mBean,
                                                   final Class<?> listenerWrapperClass) {
      final Field listenerListField = preventor.findField(NotificationBroadcasterSupport.class, "listenerList");
      if(listenerListField != null) {
        final Class<?> listenerInfoClass = preventor.findClass("javax.management.NotificationBroadcasterSupport$ListenerInfo");
  
        final List<? /*javax.management.NotificationBroadcasterSupport.ListenerInfo*/> listenerList =
            preventor.getFieldValue(listenerListField, mBean);
  
        if(listenerList != null) {
          final Field listenerField = preventor.findField(listenerInfoClass, "listener");
          final Field filterField = preventor.findField(listenerInfoClass, "filter");
          final Field handbackField = preventor.findField(listenerInfoClass, "handback");
          for(Object listenerInfo : listenerList) {
            final NotificationListener listener = preventor.getFieldValue(listenerField, listenerInfo);
            final NotificationListener rawListener = unwrap(preventor, listenerWrapperClass, listener);
            final NotificationFilter filter = preventor.getFieldValue(filterField, listenerInfo);
            final Object handback = preventor.getFieldValue(handbackField, listenerInfo);
            
            if(preventor.isLoadedInClassLoader(rawListener) || preventor.isLoadedInClassLoader(filter) || preventor.isLoadedInClassLoader(handback)) {
              preventor.warn(((listener == rawListener) ? "Listener '" : "Wrapped listener '") + listener + 
                  "' (or its filter or handback) of MBean " + mBean + 
                  " was loaded in protected ClassLoader; removing");
              // This is safe, as the implementation works with a copy, not altering the original
              try {
                mBean.removeNotificationListener(listener, filter, handback);
              }
              catch (ListenerNotFoundException e) { // Should never happen
                preventor.error(e);
              }
            }
          }
        }
      }
    }