docs: public final synchronized void removeEventListener(final Class cls) {
          for (int listenerIndex = 0; listenerIndex < this.listeners.size();) {
              E listener = this.listeners.get(listenerIndex);
              
              if (cls.isAssignableFrom(listener.getClass())) {
                  this.listeners.remove(listenerIndex);
              } else {
                  listenerIndex++;
              }
          }
      }