/// Trigger an event on a specific event handler with an explicit event threshold public void Trigger <T>(EventHandler source, T eventInstance, int maxEventsThreshold) where T : class { var ownsLock = Lock(maxEventsThreshold); _actionQueue.CopyActionList(_actions); DispatchEvents <T>(_actionQueue, source, eventInstance); Unlock(ownsLock); }