code: public static short generateTransactionId() {
  		return (short) xorshiftState.updateAndGet(old -> {
  			short x = (short) old;
  			x ^= (x & 0xffff) << 7;
  			x ^= (x & 0xffff) >>> 9;
  			x ^= (x & 0xffff) << 8;
  			assert x != 0 : "Xorshift LFSR can never produce zero";
  			return x;
  		});
  	}
docs: /* atomic 16-bit xorshift LSFR, cycling through all 16-bit values except zero