void deregister(Reference<? extends Adapter> listenerRef) { Adapter adapter = listenerRef.get(); if (adapter == null) { // WeakHashMaps with adapter as key don't need to be taken care of anymore registrationManager.deregister(listenerRef); } else { deregister(adapter); } }
public void deregister(Adapter listener) { // TODO what if a listener is being removed that has pending events?? -> EventDeferring registrationManager.deregister(listener); // remove Notifier(s) for listener removeListener(listener); }