public GroupBy(GroupByObservable <TSource, TKey, TElement> parent, IObserver <IGroupedObservable <TKey, TElement> > observer, IDisposable cancel) : base(observer, cancel) { this.parent = parent; if (parent.capacity != null) { this.map = new Dictionary <TKey, ISubject <TElement> >(parent.capacity.Value, parent.comparer); } else { this.map = new Dictionary <TKey, ISubject <TElement> >(parent.comparer); } }