class SingleThreadJTAExecutor {

  void doOps(TXState txState, CancelCriterion cancelCriterion) {
    try {
      beforeCompletion.doOp(txState);
    } finally {
      afterCompletion.doOp(txState, cancelCriterion);
    }
  }

  public  SingleThreadJTAExecutor();
  public  SingleThreadJTAExecutor(BeforeCompletion beforeCompletion,
      AfterCompletion afterCompletion);

}