docs: private static void bytesToHex(byte[] bytes, byte[] hex, int offset) {
      final char[] lookup =
          {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
  
      int i;
      int c;
      int j;
      int pos = offset;
  
      for (i = 0; i < 16; i++) {
        c = bytes[i] & 0xFF;
        j = c >> 4;
        hex[pos++] = (byte) lookup[j];
        j = (c & 0xF);
        hex[pos++] = (byte) lookup[j];
      }
    }