docs: public JobExecution waitForFinish(long executionId) {
          logger.fine("Entering waitForFinish for executionId = " + executionId);
          JobExecution jobExecution = null;
  
          long startTime = System.currentTimeMillis();
  
          while (true) {
              try {
                  logger.finer("Sleeping for " + POLL_INTERVAL);
                  long curTime = System.currentTimeMillis();
                  timeOutIfExpired(startTime, curTime);
                  Thread.sleep(POLL_INTERVAL);
                  logger.finer("Wake up, check for Finished.");
                  jobExecution = jobOp.getJobExecution(executionId);
                  if (isfinished(jobExecution)) {
                      break;
                  }
              } catch (InterruptedException e) {
                  throw new RuntimeException("Aborting on interrupt", e);
              }
          }
          return jobExecution;
      }