private NamedAsyncReaderWriterLock GetLock(TKey name)
 {
     NamedAsyncReaderWriterLock locker;
     if (!_lockDict.TryGetValue(name, out locker))
     {
         locker = new NamedAsyncReaderWriterLock(this, name, _mutex);
         _lockDict.Add(name, locker);
     }
     return locker;
 }
 internal NamedWriterLock(NamedAsyncReaderWriterLock namedAsyncReaderWriterLock)
 {
     _namedAsyncReaderWriterLock = namedAsyncReaderWriterLock;
 }