docs: private Pair<Long, Integer> updateCooked(byte[] compressedData) {
          // Uncompress (inflate) the bytes.
          byte[] cookedBytes;
          try {
              cookedBytes = gunzipBytes(compressedData);
          } catch (IOException e) {
              throw new RuntimeException("Unable to decompress elastic hashinator data.");
          }
  
          int numEntries = (cookedBytes.length >= 4
                  ? ByteBuffer.wrap(cookedBytes).getInt()
                  : 0);
          int tokensSize = 4 * numEntries;
          int partitionsSize = 4 * numEntries;
          if (numEntries <= 0 || cookedBytes.length != 4 + tokensSize + partitionsSize) {
              throw new RuntimeException("Bad elastic hashinator cooked config size.");
          }
          long tokens = Bits.unsafe.allocateMemory(8 * numEntries);
          ByteBuffer tokenBuf = ByteBuffer.wrap(cookedBytes, 4, tokensSize);
          ByteBuffer partitionBuf = ByteBuffer.wrap(cookedBytes, 4 + tokensSize, partitionsSize);
          int tokensArray[] = new int[numEntries];
          for (int zz = 3; zz >= 0; zz--) {
              for (int ii = 0; ii < numEntries; ii++) {
                  int value = tokenBuf.get();
                  value = (value << (zz * 8)) & (0xFF << (zz * 8));
                  tokensArray[ii] = (tokensArray[ii] | value);
              }
          }
  
          int lastToken = Integer.MIN_VALUE;
          for (int ii = 0; ii < numEntries; ii++) {
              int token = tokensArray[ii];
              Preconditions.checkArgument(token >= lastToken);
              lastToken = token;
              long ptr = tokens + (ii * 8);
              Bits.unsafe.putInt(ptr, token);
              final int partitionId = partitionBuf.getInt();
              Bits.unsafe.putInt(ptr + 4, partitionId);
          }
          return Pair.of(tokens, numEntries);
      }