public static void testRollbackAndDoubleExecution(
    final ProcedureExecutor<MasterProcedureEnv> procExec, final long procId, final int lastStep)
    throws Exception {
    testRollbackAndDoubleExecution(procExec, procId, lastStep, false);
  }
Execute the procedure up to "lastStep" and then the ProcedureExecutor is restarted and an
abort() is injected. If the procedure implement abort() this should result in rollback being
triggered. Each rollback step is called twice, by restarting the executor after every step. At
the end of this call the procedure should be finished and rolledback. This method assert on the
procedure being terminated with an AbortException.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.java