/// <summary>
        ///
        /// </summary>
        /// <param name="workItems"></param>
        /// <param name="workItem"></param>
        public BackgroundTransferPool(BackgroundTransferItem[] workItems = null, BackgroundTransferItem workItem = null)
        {
            if (null != workItem)
            {
                QueueDownload(workItem);
            }

            if (null != workItems)
            {
                foreach (BackgroundTransferItem item in workItems)
                {
                    QueueDownload(item);
                }
            }

            //_transferService = new BackgroundTransferService();
        }
 /// <summary>
 /// Queues the provided downloadUri to be downloaded as downloading becomes available.
 /// </summary>
 /// <param name="downloadUri">The uri resource to queue for download.</param>
 public void QueueDownload(BackgroundTransferItem workItem)
 {
     // Check if null to prevent null state.
     if (null != workItem)
     {
         Uri downloadUri = workItem.DownloadLocation;
         if (null != downloadUri)
         {
             _requestQueue.Enqueue(downloadUri);
         }
         else
         {
             throw new ArgumentNullException("workItem", "Invalid DownloadLocation specified.");
         }
     }
     else
     {
         throw new ArgumentNullException("workItem", "Invalid workItem specified.");
     }
 }