well, if the lock is promoted in internal function you have to do it. It should be called only when we know that we are under a lock, just checking whether it's a write lock.