/// <summary>
        /// Removes the entry for the specified key from the dictionary.
        /// </summary>
        public bool Remove(K key)
        {
            // Avoid a clone if it's not present
            if (ReadOperation.HasNoClones || ReadOperation.ContainsKey(key))
            {
                if (!IsDummy)
                {
                    return(WriteOperation.Remove(key));
                }
            }

            return(false);
        }
        /// <summary>
        /// Remove an item from the dictionary.
        /// </summary>
        public bool Remove(KeyValuePair <K, V> item)
        {
            // If it doesn't already contain the key, avoid copying the dictionary.
            if (ReadOperation.HasNoClones || ReadOperation.ContainsKey(item.Key))
            {
                if (!IsDummy)
                {
                    return(((IDictionary <K, V>)WriteOperation).Remove(item));
                }
            }

            return(false);
        }
 /// <summary>
 /// Returns true if the dictionary contains the specified key.
 /// </summary>
 public bool ContainsKey(K key)
 {
     return(ReadOperation.ContainsKey(key));
 }