private static final byte[][] generatePrefixes() {
final byte[][] prefixes = new byte[1 << (PREFIX_BYTES_SIZE * 8)][];
for (int i = 0; i < prefixes.length; ++i) {
prefixes[i] = new byte[DELIMITER_PREFIX_DELIMITER_SIZE];
System.arraycopy(DELIMITER_BYTES, 0, prefixes[i], 0, DELIMITER_BYTES.length);
System.arraycopy(toPrefixBytes(i), 0, prefixes[i], DELIMITER_BYTES.length, PREFIX_BYTES_SIZE);
System.arraycopy(DELIMITER_BYTES, 0, prefixes[i], DELIMITER_BYTES.length + PREFIX_BYTES_SIZE, DELIMITER_BYTES.length);
}
return prefixes;
}