void doOps(TXState txState, CancelCriterion cancelCriterion) {
    try {
      beforeCompletion.doOp(txState);
    } finally {
      afterCompletion.doOp(txState, cancelCriterion);
    }
  }
This class ensures that beforeCompletion and afterCompletion are executed in the same thread.

@since Geode 1.7.0
geode-core/src/main/java/org/apache/geode/internal/cache/SingleThreadJTAExecutor.java