docs: private long getWriteLockWithOptionalWait(final long timeout, final TimeUnit unit)
              throws InterruptedException {
          // Get the write lock and capture start time and max wait time if waiting a specified
          // timeout
          final long start;
          if (timeout >= 0) {
              start = System.currentTimeMillis();
  
              final boolean locked = this.writeLock.tryLock(timeout, unit);
              if (!locked) {
                  // Hit timeout waiting for lock
                  return Long.MIN_VALUE;
              }
          } else {
              start = -1;
  
              this.writeLock.lock();
          }
          return start;
      }