/** <inheritDoc /> */ public bool StopLocalListen <T>(IEventListener <T> listener, params int[] types) where T : IEvent { lock (_localFilters) { Dictionary <int, LocalHandledEventFilter> filters; if (!_localFilters.TryGetValue(listener, out filters)) { return(false); } var success = false; // Should do this inside lock to avoid race with subscription // ToArray is required because we are going to modify underlying dictionary during enumeration foreach (var filter in GetLocalFilters(listener, types).ToArray()) { success |= UU.EventsStopLocalListen(Target, filter.Handle); } return(success); } }