code: protected void executeTx(final TxRunnable r, final TxRunnable errorHandler) throws Exception {
          Transaction transaction = beginTransaction();
          configureTransDefault(transaction);
          processTransactionError(transaction, t -> {
              try {
                  r.run(t);
                  t.commit();
              } catch (Throwable e) {
                  t.rollback(e);
                  throw e;
              } finally {
                  t.end();
              }
              return null;
          }, errorHandler != null ? (TxCallable) t -> {
              errorHandler.run(t);
              return null;
          } : null);
      }
docs: <p>executeTx.</p>
  
  @param r            a {@link ameba.db.ebean.support.ModelResourceStructure.TxRunnable} object.
  @param errorHandler error handler
  @throws java.lang.Exception if any.