/// <summary> /// Begins waiting on the associated <see cref="Condition"/>. /// </summary> /// <param name="activator"> /// The object that activated this <see cref="WaitForCondition"/> task. /// </param> /// <param name="data">Not used.</param> protected override void ExecuteTask(object activator, object data) { if (Interrupted) { ResumeAll(); } else { if (Blocker.Signalled) { Activate(Blocker); } else { Blocker.BlockTask(this); } } }