code: private BaseLocalTransaction createLocalTransaction(String transId) {
          BaseLocalTransaction baseLocalTransaction;
          try {
              baseLocalTransaction = localTransactionConstructor.newInstance(transId, this);
          } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
              throw new RuntimeException(e);
          }
          BaseLocalTransaction.addLocalTransaction(baseLocalTransaction);
          return baseLocalTransaction;
      }
docs: create a new local transaction.
  All transactions are produced by connections.
  
  @param transId transaction id