code: public static void runUninterruptibly(final long timeout, final TimeUnit unit, final Try.BiConsumer<Long, TimeUnit, InterruptedException> cmd) {
          N.checkArgNotNull(unit, "unit");
          N.checkArgNotNull(cmd);
  
          boolean interrupted = false;
  
          try {
              long remainingNanos = unit.toNanos(timeout);
              final long sysNanos = System.nanoTime();
              final long end = remainingNanos >= Long.MAX_VALUE - sysNanos ? Long.MAX_VALUE : sysNanos + remainingNanos;
  
              while (true) {
                  try {
                      cmd.accept(remainingNanos, TimeUnit.NANOSECONDS);
                      return;
                  } catch (InterruptedException e) {
                      interrupted = true;
                      remainingNanos = end - System.nanoTime();
                  }
              }
          } finally {
              if (interrupted) {
                  Thread.currentThread().interrupt();
              }
          }
      }
docs: Note: Copied from Google Guava under Apache License v2.0
  <br />
  <br />
  
  If a thread is interrupted during such a call, the call continues to block until the result is available or the
  timeout elapses, and only then re-interrupts the thread.
  
  @param timeout
  @param unit
  @param cmd