@GwtIncompatible // concurrency
  @SuppressWarnings("GoodTime") // should accept a java.time.Duration
  public static boolean awaitUninterruptibly(Condition condition, long timeout, TimeUnit unit) {
    """
	Invokes {@code condition.}{@link Condition#await(long, TimeUnit) await(timeout, unit)}
	uninterruptibly.
	
	@since 23.6
    """
    boolean interrupted = false;
    try {
      long remainingNanos = unit.toNanos(timeout);
      long end = System.nanoTime() + remainingNanos;

      while (true) {
        try {
          return condition.await(remainingNanos, NANOSECONDS);
        } catch (InterruptedException e) {
          interrupted = true;
          remainingNanos = end - System.nanoTime();
        }
      }
    } finally {
      if (interrupted) {
        Thread.currentThread().interrupt();
      }
    }
  }
@GwtIncompatible // concurrency
  @SuppressWarnings("GoodTime") // should accept a java.time.Duration
  public static boolean awaitUninterruptibly(Condition condition, long timeout, TimeUnit unit) {
    boolean interrupted = false;
    try {
      long remainingNanos = unit.toNanos(timeout);
      long end = System.nanoTime() + remainingNanos;

      while (true) {
        try {
          return condition.await(remainingNanos, NANOSECONDS);
        } catch (InterruptedException e) {
          interrupted = true;
          remainingNanos = end - System.nanoTime();
        }
      }
    } finally {
      if (interrupted) {
        Thread.currentThread().interrupt();
      }
    }
  }
@ GwtIncompatible // concurrency @ SuppressWarnings ( "GoodTime" ) // should accept a java.time.Duration public static boolean awaitUninterruptibly ( Condition condition , long timeout , TimeUnit unit ) { boolean interrupted = false ; try { long remainingNanos = unit . toNanos ( timeout ) ; long end = System . nanoTime ( ) + remainingNanos ; while ( true ) { try { return condition . await ( remainingNanos , NANOSECONDS ) ; } catch ( InterruptedException e ) { interrupted = true ; remainingNanos = end - System . nanoTime ( ) ; } } } finally { if ( interrupted ) { Thread . currentThread ( ) . interrupt ( ) ; } } }
Invokes {@code condition.}{@link Condition#await(long, TimeUnit) await(timeout, unit)}
uninterruptibly.

@since 23.6
Invokes { @code condition . } { @link Condition#await ( long TimeUnit ) await ( timeout unit ) } uninterruptibly .