code: static ByteBuffer getRowKeyRaw(int shardId, long tableUuid, byte[] contentKeyBytes) {
          checkArgument(shardId >= 0 && shardId < 256);
  
          // Assemble a single array which is "1 byte shard id + 8 byte table uuid + n-byte content key".
          ByteBuffer rowKey = ByteBuffer.allocate(9 + contentKeyBytes.length);
          rowKey.put((byte) shardId);
          rowKey.putLong(tableUuid);
          rowKey.put(contentKeyBytes);
  
          rowKey.flip();
          return rowKey;
      }
docs: Constructs a row key when the row's shard ID is already known, which is rare.  Generally this is used for
  range queries to construct the lower or upper bound for a query, so it doesn't necessarily need to produce
  a valid row key.