public DispatcherQueue(string name, Dispatcher dispatcher, TaskExecutionPolicy policy, int maximumQueueDepth)
: this(name, dispatcher, policy)
{
if (policy == TaskExecutionPolicy.ConstrainSchedulingRateDiscardTasks || policy == TaskExecutionPolicy.ConstrainSchedulingRateThrottleExecution)
throw new ArgumentException ("schedulingRate");
if (maximumQueueDepth < 1 && policy != TaskExecutionPolicy.Unconstrained)
throw new ArgumentException ("maximumQueueDepth");
MaximumQueueDepth = maximumQueueDepth;
}