docs: public boolean awaitShutdown(long millis) throws InterruptedException {
          synchronized (lock) {
              if (!shutdown) {
                  throw UndertowMessages.MESSAGES.handlerNotShutdown();
              }
              long end = System.currentTimeMillis() + millis;
              int count = (int) activeRequestsUpdater.get(this);
              while (count != 0) {
                  long left = end - System.currentTimeMillis();
                  if (left <= 0) {
                      return false;
                  }
                  lock.wait(left);
                  count = (int) activeRequestsUpdater.get(this);
              }
              return true;
          }
      }