@Override
  protected void doRollback(final TEnvironment env) throws IOException, InterruptedException {
    updateTimestamp();
    if (executed) {
      try {
        rollback(env);
        executed = !executed;
      } finally {
        updateTimestamp();
      }
    }
  }
A SequentialProcedure describes one step in a procedure chain:

<pre>
  -&gt; Step 1 -&gt; Step 2 -&gt; Step 3
</pre>

The main difference from a base Procedure is that the execute() of a SequentialProcedure will be
called only once; there will be no second execute() call once the children are finished. which
means once the child of a SequentialProcedure are completed the SequentialProcedure is completed
too.
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/SequentialProcedure.java