docs: private void lockWritersExclusive() {
  
          if (exclusiveLockOwner == Thread.currentThread()) {
              writers.decrementAndGet();
              return;
          }
  
          synchronized (this) {
              for (;;) {
  
                  if (writers.compareAndSet(0, -1)) {
                      exclusiveLockOwner = Thread.currentThread();
                      return;
                  }
              }
          }
      }