/// <summary>
 /// Возвращает значение для ключа
 /// </summary>
 /// <param name="key">Ключ</param>
 /// <param name="value">Значение</param>
 /// <returns>Значение</returns>
 protected bool TryGetValue(KEY key, out VALUE value)
 {
     using (ReaderWriterLockService.GetReader(this._lock, true))
     {
         return(this._collection.TryGetValue(key, out value));
     }
 }
 /// <summary>
 /// Возвращает значение для ключа
 /// </summary>
 /// <param name="key">Ключ</param>
 /// <returns>Значение</returns>
 protected VALUE GetValue(KEY key)
 {
     using (ReaderWriterLockService.GetReader(this._lock, true))
     {
         VALUE value;
         if (this._collection.TryGetValue(key, out value))
         {
             return(value);
         }
         return(default(VALUE));
     }
 }
 /// <summary>
 /// Возвращает ключ по значению
 /// </summary>
 /// <param name="value">Значение</param>
 /// <returns>Ключ</returns>
 protected KEY GetKey(VALUE value)
 {
     using (ReaderWriterLockService.GetReader(this._lock, true))
     {
         foreach (KeyValuePair <KEY, VALUE> pair in this._collection)
         {
             if (pair.Value.Equals(value))
             {
                 return(pair.Key);
             }
         }
         return(default(KEY));
     }
 }