public bool ContainsKey(string key, KeyAccess access)
        {
            try
            {
                Lock();
                switch (access)
                {
                case KeyAccess.FileHash:
                    return(m_FileHash.ContainsKey(key));

                case KeyAccess.OnceHashedFileHash:
                    return(m_OnceHashedFileHash.ContainsKey(key));

                case KeyAccess.TwiceHashedFileHash:
                    return(m_TwiceHashedFileHash.ContainsKey(key));

                case KeyAccess.ThriceHashedFileHash:
                    return(m_ThriceHashedFileHash.ContainsKey(key));

                default:
                    return(m_DownloadID.ContainsKey(key));
                }
            }
            finally
            {
                Unlock();
            }
        }