code: public void unsubscribeFromEvent(Class<? extends SystemEvent> eventClass,
                                       ComponentSystemEventListener componentListener) {
  
          if (eventClass == null) {
              throw new NullPointerException();
          }
          if (componentListener == null) {
              throw new NullPointerException();
          }
  
          List<SystemEventListener> listeners =
                getListenersForEventClass(eventClass);
          if (listeners != null && !listeners.isEmpty()) {
              for (Iterator<SystemEventListener> i = listeners.iterator(); i.hasNext();) {
                  SystemEventListener item = i.next();
                  ComponentSystemEventListenerAdapter csla =
                        (ComponentSystemEventListenerAdapter) item;
                  ComponentSystemEventListener l = csla.getWrapped();
                  if (l.equals(componentListener)) {
                      i.remove();
                      break;
                  }
              }
          }
  
      }
docs: <p class="changed_added_2_1">Remove the listener instance
  referenced by argument <code>componentListener</code> as a
  listener for events of type <code>eventClass</code>
  originating from this specific instance of
  <code>UIComponent</code>.  When doing the comparison to
  determine if an existing listener is equal to the argument
  <code>componentListener</code> (and thus must be removed),
  the <code>equals()</code> method on the <em>existing
  listener</em> must be invoked, passing the argument
  <code>componentListener</code>, rather than the other way
  around.</p>
  
  @param eventClass the <code>Class</code> of event for which
  <code>listener</code> must be removed.
  @param componentListener the implementation of {@link
  ComponentSystemEventListener} whose {@link
  ComponentSystemEventListener#processEvent} method must no longer be called
  when events of type <code>eventClass</code> are fired.
  
  @throws <code>NullPointerException</code> if any of the
  arguments are <code>null</code>.
  
  @since 2.1