/// <summary> Constructor. </summary> /// <remarks> 7/27/2011. </remarks> /// <exception cref="ArgumentNullException"> Thrown when the durable job queue is null. </exception> /// <param name="durableJobQueue"> IDurableJobQueue to wrap. </param> public ObservableDurableJobQueue(IDurableJobQueue <TQueue, TQueuePoison> durableJobQueue) { if (null == durableJobQueue) { throw new ArgumentNullException("durableJobQueue"); } var queueType = durableJobQueue.GetType(); if (queueType.IsGenericType && typeof(ObservableDurableJobQueue <,>).IsAssignableFrom(queueType.GetGenericTypeDefinition())) { throw new ArgumentException("Incoming queue instance is an ObservableDurableJobQueue. Nesting not supported.", "durableJobQueue"); } this._durableJobQueue = durableJobQueue; }