/// <summary>Initializes the debug view.</summary>
 /// <param name="interleave">The interleave being debugged.</param>
 public ConcurrentExclusiveInterleaveDebugView(ConcurrentExclusiveInterleave interleave)
 {
     if (interleave == null)
     {
         throw new ArgumentNullException("interleave");
     }
     _interleave = interleave;
 }
 /// <summary>Initializes the scheduler.</summary>
 /// <param name="interleave">The parent interleave.</param>
 /// <param name="tasks">The queue to store queued tasks into.</param>
 internal ConcurrentExclusiveTaskScheduler(ConcurrentExclusiveInterleave interleave, Queue <Task> tasks, int maximumConcurrencyLevel)
 {
     if (interleave == null)
     {
         throw new ArgumentNullException("interleave");
     }
     if (tasks == null)
     {
         throw new ArgumentNullException("tasks");
     }
     _interleave = interleave;
     _maximumConcurrencyLevel = maximumConcurrencyLevel;
     Tasks = tasks;
 }
 /// <summary>Initializes the scheduler.</summary>
 /// <param name="interleave">The parent interleave.</param>
 /// <param name="tasks">The queue to store queued tasks into.</param>
 internal ConcurrentExclusiveTaskScheduler(ConcurrentExclusiveInterleave interleave, Queue<Task> tasks, int maximumConcurrencyLevel)
 {
     if (interleave == null) throw new ArgumentNullException("interleave");
     if (tasks == null) throw new ArgumentNullException("tasks");
     _interleave = interleave;
     _maximumConcurrencyLevel = maximumConcurrencyLevel;
     Tasks = tasks;
 }
 /// <summary>Initializes the debug view.</summary>
 /// <param name="interleave">The interleave being debugged.</param>
 public ConcurrentExclusiveInterleaveDebugView(ConcurrentExclusiveInterleave interleave)
 {
     if (interleave == null) throw new ArgumentNullException("interleave");
     _interleave = interleave;
 }