//-----------------------------------------------------------------------------------
        // Schedules execution of the merge itself.
        //

        void IMergeHelper <TOutput> .Execute()
        {
            OrderPreservingPipeliningSpoolingTask <TOutput, TKey> .Spool(
                m_taskGroupState, m_partitions, m_consumerWaiting, m_producerWaiting, m_producerDone,
                m_buffers, m_bufferLocks, m_taskScheduler, m_autoBuffered);
        }