dispose method
Discards the listener callbacks. After this method is called, the notifier object is no longer in a usable state and should be discarded (calls to addListener and removeListener will throw after the object is disposed).
This method should only be called by the object's owner.
Implementation
@mustCallSuper
void dispose() {
assert(_debugAssertNotDisposed());
_indexListeners = null;
_listeners = null;
}