private <K, V, M extends Map<K, V>> M deserializeIntoMap(JsonReadGenericRecord rec, String fieldName, NFTypeSerializer<K> keySerializer, NFTypeSerializer<V> valueSerializer, M map) {
JsonNode node = getJsonNode(rec, fieldName);
if (node == null) {
return null;
}
for (Iterator<JsonNode> it = node.elements(); it.hasNext();) {
JsonNode element = it.next();
K key = keySerializer.deserialize(new JsonReadGenericRecord(keySerializer.getFastBlobSchema(), element.get("key")));
V value = valueSerializer.deserialize(new JsonReadGenericRecord(valueSerializer.getFastBlobSchema(), element.get("value")));
map.put(key, value);
}