code: private boolean isPendingFutureReadyOrInProcessing() {
          synchronized (mutex) {
              if (pendingFuture != null && !pendingFuture.isDone() && !pendingFuture.isCancelled()) {
                  return pendingFuture.getDelay(TimeUnit.MILLISECONDS) <= 0;
              }
              return false;
          }
      }
docs: Check if the current pending future is ready to be processed or in processing.
  @return true if the current pending future is ready to be processed or in processing.
  Otherwise false. Will also return false if the current pending future is done or cancelled.