code: void awaitStabilityUninterruptibly(long timeout, TimeUnit timeUnit) throws TimeoutException {
          boolean interrupted = false;
          try {
              long toWait = timeUnit.toMillis(timeout);
              long msTimeout = System.currentTimeMillis() + toWait;
              while (true) {
                  if (interrupted) {
                      toWait = msTimeout - System.currentTimeMillis();
                  }
                  try {
                      if (toWait <= 0 || !monitor.awaitStability(toWait, TimeUnit.MILLISECONDS, failed, problems)) {
                          throw new TimeoutException();
                      }
                      break;
                  } catch (InterruptedException e) {
                      interrupted = true;
                  }
              }
          } finally {
              if (interrupted) {
                  Thread.currentThread().interrupt();
              }
          }
      }
docs: Await service container stability ignoring thread interruption.
  
  @param timeout maximum period to wait for service container stability
  @param timeUnit unit in which {@code timeout} is expressed
  
  @throws java.util.concurrent.TimeoutException if service container stability is not reached before the specified timeout