code: public void commit(Xid xid, Object logMark) throws LogException {
          //the data is theoretically unnecessary but is included to help with debugging
          // and because HOWL currently requires it.
          byte[][] data = new byte[4][];
          data[0] = new byte[]{COMMIT};
          data[1] = intToBytes(xid.getFormatId());
          data[2] = xid.getGlobalTransactionId();
          data[3] = xid.getBranchQualifier();
          try {
              logger.putDone(data, (XACommittingTx) logMark);
          } catch (LogClosedException | LogRecordSizeException | InterruptedException | IOException | LogFileOverflowException e) {
              throw new IllegalStateException(e);
          }
      }
docs: Commits a transaction
  @param xid the id
  @param logMark the mark
  @throws LogException on error