code: public byte[] toBytes() {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "toBytes");
  
          final int gtridLength = (_gtrid == null ? 0 : _gtrid.length);
          final int bqualLength = (_bqual == null ? 0 : _bqual.length);
          final int nbytes = 12 + gtridLength + bqualLength;
          final byte[] result = new byte[nbytes];
  
          Util.setBytesFromInt(result, 0, 4, _formatId);
          Util.setBytesFromInt(result, 4, 4, gtridLength);
          Util.setBytesFromInt(result, 8, 4, bqualLength);
          if (gtridLength > 0)
              System.arraycopy(_gtrid, 0, result, 12, gtridLength);
          if (bqualLength > 0)
              System.arraycopy(_bqual, 0, result, 12 + gtridLength, bqualLength);
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "toBytes", Util.toHexString(result));
          return result;
      }
docs: Build a native Xid form suitable for recreating with the mainline
  constructor as in the XA specification.
  
  <pre>
  struct xid_t {
  long formatID; // format identifier
  long gtrid_length; // value 1-64
  long bqual_length; // value 1-64
  char data[XIDDATASIZE];
  };
  </pre>