### Question:
MerkleHashBuilder { private byte[] getRootHash(List<byte[]> hashes) { if (hashes.isEmpty()) { return new byte[32]; } int numRemainingHashes = hashes.size(); Hasher hasher = Hashes::sha3_256; while (numRemainingHashes > 1) { for (int i = 0; i < numRemainingHashes; i += 2) { if (i + 1 < numRemainingHashes) { hashes.add(i / 2, hasher.hash(hashes.get(i), hashes.get(i + 1))); continue; } hashes.add(i / 2, hasher.hash(hashes.get(i), hashes.get(i))); ++numRemainingHashes; } numRemainingHashes /= 2; } return hashes.get(0); } MerkleHashBuilder(); byte[] getRootHash(); void update(final byte[] hash);  }### Answer:
@Test public void testZero() { MerkleHashBuilder builder = new MerkleHashBuilder(); Assertions.assertEquals( "0000000000000000000000000000000000000000000000000000000000000000", ConvertUtils.toHex(builder.getRootHash())); }