protected DynamicPartitionEnumerator_Abstract(TSourceReader sharedReader, Partitioner.Shared <long> sharedIndex, int maxChunkSize)
 {
     this.m_sharedReader = sharedReader;
     this.m_sharedIndex  = sharedIndex;
     if (maxChunkSize == -1)
     {
         this.m_maxChunkSize = Partitioner.DynamicPartitionEnumerator_Abstract <TSource, TSourceReader> .s_defaultMaxChunkSize;
         return;
     }
     this.m_maxChunkSize = maxChunkSize;
 }
 protected DynamicPartitionEnumerator_Abstract(TSourceReader sharedReader, Partitioner.Shared <long> sharedIndex) : this(sharedReader, sharedIndex, -1)
 {
 }
 internal InternalPartitionEnumerator(IEnumerator <TSource> sharedReader, Partitioner.Shared <long> sharedIndex, Partitioner.Shared <bool> hasNoElementsLeft, object sharedLock, Partitioner.Shared <int> activePartitionCount, Partitioner.DynamicPartitionerForIEnumerable <TSource> .InternalPartitionEnumerable enumerable, int maxChunkSize) : base(sharedReader, sharedIndex, maxChunkSize)
 {
     this.m_hasNoElementsLeft    = hasNoElementsLeft;
     this.m_sharedLock           = sharedLock;
     this.m_enumerable           = enumerable;
     this.m_activePartitionCount = activePartitionCount;
     Interlocked.Increment(ref this.m_activePartitionCount.Value);
 }
 internal InternalPartitionEnumerator(IList <TSource> sharedReader, Partitioner.Shared <long> sharedIndex) : base(sharedReader, sharedIndex)
 {
 }
 protected DynamicPartitionEnumeratorForIndexRange_Abstract(TSourceReader sharedReader, Partitioner.Shared <long> sharedIndex) : base(sharedReader, sharedIndex)
 {
 }