BinaryDecoder decoder = new BinaryDecoder(bis);
int size = decoder.readInt();
Map<String, Integer> hashKeys = Maps.newHashMapWithExpectedSize(size);
while (size > 0) { // per avro spec, ther ecan be multiple blocks
while (size-- > 0) {
String key = decoder.readString();
int value = decoder.readInt();
hashKeys.put(key, value);
}
size = decoder.readInt(); // next block length, will be always zero in this case
}