docs: private boolean waitForPermissionIfNecessary(final long timeoutInNanos, final long nanosToWait) {
          boolean canAcquireImmediately = nanosToWait <= 0;
          boolean canAcquireInTime = timeoutInNanos >= nanosToWait;
  
          if (canAcquireImmediately) {
              return true;
          }
          if (canAcquireInTime) {
              return waitForPermission(nanosToWait);
          }
          waitForPermission(timeoutInNanos);
          return false;
      }