Is there a reason you did not implement `isWriteLockedByCurrentThread` similar to the jdk's `ReentrantReadWriteLock`?