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(); } }