ActivePlan abstract class ActivePlan Documentation Code using System.Collections.Generic; namespace System.Reactive.Joins { internal abstract class ActivePlan { private Dictionary<IJoinObserver, IJoinObserver> joinObservers = new Dictionary<IJoinObserver, IJoinObserver>(); internal abstract void Match(); protected void AddJoinObserver(IJoinObserver joinObserver) { joinObservers.Add(joinObserver, joinObserver); } protected void Dequeue() { foreach (IJoinObserver value in joinObservers.Values) { value.Dequeue(); } } } }