@Override public void unsubscribe(final Object listener) { logger.trace("Unsubscribing listener [{}] from event bus [{}]", listener, this); listeners.removeAll( new ListenerCollection.ListenerFilter() { @Override public boolean passes(ListenerCollection.Listener l) { return (l instanceof AbstractListenerWrapper) && (((AbstractListenerWrapper) l).getListenerTarget() == listener); } }); }