ActivePlan<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
                    sealed class ActivePlan<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> : ActivePlan
                
                using System.Runtime.CompilerServices;
namespace System.Reactive.Joins
{
    [System.Runtime.CompilerServices.NullableContext(1)]
    [System.Runtime.CompilerServices.Nullable(0)]
    internal sealed class ActivePlan<[System.Runtime.CompilerServices.Nullable(2)] T1, [System.Runtime.CompilerServices.Nullable(2)] T2, [System.Runtime.CompilerServices.Nullable(2)] T3, [System.Runtime.CompilerServices.Nullable(2)] T4, [System.Runtime.CompilerServices.Nullable(2)] T5, [System.Runtime.CompilerServices.Nullable(2)] T6, [System.Runtime.CompilerServices.Nullable(2)] T7, [System.Runtime.CompilerServices.Nullable(2)] T8, [System.Runtime.CompilerServices.Nullable(2)] T9, [System.Runtime.CompilerServices.Nullable(2)] T10, [System.Runtime.CompilerServices.Nullable(2)] T11, [System.Runtime.CompilerServices.Nullable(2)] T12, [System.Runtime.CompilerServices.Nullable(2)] T13, [System.Runtime.CompilerServices.Nullable(2)] T14, [System.Runtime.CompilerServices.Nullable(2)] T15> : ActivePlan
    {
        private readonly Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> _onNext;
        private readonly JoinObserver<T1> _first;
        private readonly JoinObserver<T2> _second;
        private readonly JoinObserver<T3> _third;
        private readonly JoinObserver<T4> _fourth;
        private readonly JoinObserver<T5> _fifth;
        private readonly JoinObserver<T6> _sixth;
        private readonly JoinObserver<T7> _seventh;
        private readonly JoinObserver<T8> _eighth;
        private readonly JoinObserver<T9> _ninth;
        private readonly JoinObserver<T10> _tenth;
        private readonly JoinObserver<T11> _eleventh;
        private readonly JoinObserver<T12> _twelfth;
        private readonly JoinObserver<T13> _thirteenth;
        private readonly JoinObserver<T14> _fourteenth;
        private readonly JoinObserver<T15> _fifteenth;
        internal ActivePlan(JoinObserver<T1> first, JoinObserver<T2> second, JoinObserver<T3> third, JoinObserver<T4> fourth, JoinObserver<T5> fifth, JoinObserver<T6> sixth, JoinObserver<T7> seventh, JoinObserver<T8> eighth, JoinObserver<T9> ninth, JoinObserver<T10> tenth, JoinObserver<T11> eleventh, JoinObserver<T12> twelfth, JoinObserver<T13> thirteenth, JoinObserver<T14> fourteenth, JoinObserver<T15> fifteenth, Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> onNext, Action onCompleted)
            : base(onCompleted)
        {
            _onNext = onNext;
            _first = first;
            _second = second;
            _third = third;
            _fourth = fourth;
            _fifth = fifth;
            _sixth = sixth;
            _seventh = seventh;
            _eighth = eighth;
            _ninth = ninth;
            _tenth = tenth;
            _eleventh = eleventh;
            _twelfth = twelfth;
            _thirteenth = thirteenth;
            _fourteenth = fourteenth;
            _fifteenth = fifteenth;
            AddJoinObserver(first);
            AddJoinObserver(second);
            AddJoinObserver(third);
            AddJoinObserver(fourth);
            AddJoinObserver(fifth);
            AddJoinObserver(sixth);
            AddJoinObserver(seventh);
            AddJoinObserver(eighth);
            AddJoinObserver(ninth);
            AddJoinObserver(tenth);
            AddJoinObserver(eleventh);
            AddJoinObserver(twelfth);
            AddJoinObserver(thirteenth);
            AddJoinObserver(fourteenth);
            AddJoinObserver(fifteenth);
        }
        internal override void Match()
        {
            if (_first.Queue.Count > 0 && _second.Queue.Count > 0 && _third.Queue.Count > 0 && _fourth.Queue.Count > 0 && _fifth.Queue.Count > 0 && _sixth.Queue.Count > 0 && _seventh.Queue.Count > 0 && _eighth.Queue.Count > 0 && _ninth.Queue.Count > 0 && _tenth.Queue.Count > 0 && _eleventh.Queue.Count > 0 && _twelfth.Queue.Count > 0 && _thirteenth.Queue.Count > 0 && _fourteenth.Queue.Count > 0 && _fifteenth.Queue.Count > 0) {
                Notification<T1> notification = _first.Queue.Peek();
                Notification<T2> notification2 = _second.Queue.Peek();
                Notification<T3> notification3 = _third.Queue.Peek();
                Notification<T4> notification4 = _fourth.Queue.Peek();
                Notification<T5> notification5 = _fifth.Queue.Peek();
                Notification<T6> notification6 = _sixth.Queue.Peek();
                Notification<T7> notification7 = _seventh.Queue.Peek();
                Notification<T8> notification8 = _eighth.Queue.Peek();
                Notification<T9> notification9 = _ninth.Queue.Peek();
                Notification<T10> notification10 = _tenth.Queue.Peek();
                Notification<T11> notification11 = _eleventh.Queue.Peek();
                Notification<T12> notification12 = _twelfth.Queue.Peek();
                Notification<T13> notification13 = _thirteenth.Queue.Peek();
                Notification<T14> notification14 = _fourteenth.Queue.Peek();
                Notification<T15> notification15 = _fifteenth.Queue.Peek();
                if (notification.Kind == NotificationKind.OnCompleted || notification2.Kind == NotificationKind.OnCompleted || notification3.Kind == NotificationKind.OnCompleted || notification4.Kind == NotificationKind.OnCompleted || notification5.Kind == NotificationKind.OnCompleted || notification6.Kind == NotificationKind.OnCompleted || notification7.Kind == NotificationKind.OnCompleted || notification8.Kind == NotificationKind.OnCompleted || notification9.Kind == NotificationKind.OnCompleted || notification10.Kind == NotificationKind.OnCompleted || notification11.Kind == NotificationKind.OnCompleted || notification12.Kind == NotificationKind.OnCompleted || notification13.Kind == NotificationKind.OnCompleted || notification14.Kind == NotificationKind.OnCompleted || notification15.Kind == NotificationKind.OnCompleted)
                    _onCompleted();
                else {
                    Dequeue();
                    _onNext(notification.Value, notification2.Value, notification3.Value, notification4.Value, notification5.Value, notification6.Value, notification7.Value, notification8.Value, notification9.Value, notification10.Value, notification11.Value, notification12.Value, notification13.Value, notification14.Value, notification15.Value);
                }
            }
        }
    }
}