public static void Pause(DownloadInfo dif)
        {
            if (dif == null)
            {
                throw new ArgumentNullException("dif");
            }

            lock (download_queue.SyncRoot)
            {
                if (download_queue.Contains(dif))
                {
                    dif.State = DownloadState.Paused;
                }
            }
        }