public NzbDownloadQueue(NzbConnectionPool connectionPool)
        {
            ArgumentChecker.ThrowIfNull("connectionPool", connectionPool);

            _synchroObject = new object();
            _connectionPool = connectionPool;
            _queuedJobs = new Queue<NzbDownloadJob>();
            _workers = new Thread[0];
        }
 public NzbDownloadManager()
 {
     _servers = new List<NzbServer>();
     _downloads = new List<NzbDownload>();
     _connectionPool = new NzbConnectionPool();
     _downloadQueue = new NzbDownloadQueue(_connectionPool);
     _decoderQueue = new NzbDecoderQueue(4096, 3);
     _isDisposed = false;
     _isDisposedSynchronization = new object();
 }