public virtual Event WhenEmpty() { var whenEmpty = new Event(Environment); WhenEmptyQueue.Add(whenEmpty); TriggerWhenEmpty(); return(whenEmpty); }
protected virtual void TriggerWhenEmpty() { if (Count == 0) { if (WhenEmptyQueue.Count == 0) { return; } foreach (var evt in WhenEmptyQueue) { evt.Succeed(); } WhenEmptyQueue.Clear(); } }