code: protected final <T extends EventListener> void addListener(Class<T> listenerType, T listener) {
  		if (this.listeners == null) {
  			this.listeners = new ListenerCollection<>();
  		}
  		this.listeners.add(listenerType, listener);
  	}
docs: Add a listener.
  
  @param <T> is the type of listener to add.
  @param listenerType is the type of listener to add.
  @param listener is the new listener.