public void RestoreLock(ref LockCookie lockCookie) { lock (this) { if (lockCookie.WriterLocks != 0) AcquireWriterLock (-1, lockCookie.WriterLocks); else if (lockCookie.ReaderLocks != 0) AcquireReaderLock (-1, lockCookie.ReaderLocks); } }