void endRead(Reader status) {
    // If implicit read lock is disabled, don't check for write thread, check for true read lock
    if (allowImplicitRead) {
      checkReadThreadAccess();
    }
    if (status != null) {
      status.readRequested = false;
    }
    if (isWriteRequested()) {
      LockSupport.unpark(writeThread);  // parked by writeLock()
    }
  }
void endRead(Reader status)