code: @GwtIncompatible // concurrency
    @SuppressWarnings("GoodTime") // should accept a java.time.Duration
    public static boolean tryAcquireUninterruptibly(
        Semaphore semaphore, int permits, long timeout, TimeUnit unit) {
      boolean interrupted = false;
      try {
        long remainingNanos = unit.toNanos(timeout);
        long end = System.nanoTime() + remainingNanos;
  
        while (true) {
          try {
            // Semaphore treats negative timeouts just like zero.
            return semaphore.tryAcquire(permits, remainingNanos, NANOSECONDS);
          } catch (InterruptedException e) {
            interrupted = true;
            remainingNanos = end - System.nanoTime();
          }
        }
      } finally {
        if (interrupted) {
          Thread.currentThread().interrupt();
        }
      }
    }
docs: Invokes {@code semaphore.}{@link Semaphore#tryAcquire(int, long, TimeUnit) tryAcquire(permits,
  timeout, unit)} uninterruptibly.
  
  @since 18.0