protected final ProcedureSuspendedException suspend(int timeoutMillis, boolean jitter)
    throws ProcedureSuspendedException {
    if (jitter) {
      // 10% possible jitter
      double add = (double) timeoutMillis * ThreadLocalRandom.current().nextDouble(0.1);
      timeoutMillis += add;
    }
    setTimeout(timeoutMillis);
    setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT);
    skipPersistence();
    throw new ProcedureSuspendedException();
  }
Internal method called by the ProcedureExecutor that starts the user-level code releaseLock().
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java