presto-hive/src/main/java/io/prestosql/plugin/hive/HiveCoercionRecordCursor.java/MapCoercer/coerce
class MapCoercer:        @Override
        public void coerce(RecordCursor delegate, int field)
        {
            if (delegate.isNull(field)) {
                setIsNull(true);
                return;
            }
            Block block = (Block) delegate.getObject(field);
            if (pageBuilder.isFull()) {
                pageBuilder.reset();
            }
            BlockBuilder blockBuilder = pageBuilder.getBlockBuilder(0);
            BlockBuilder mapBuilder = blockBuilder.beginBlockEntry();
            for (int i = 0; i < block.getPositionCount(); i++) {
                int k = i % 2;
                if (coercers[k] == null) {
                    toKeyValueTypes.get(k).appendTo(block, i, mapBuilder);
                }
                else {
                    if (block.isNull(i)) {
                        mapBuilder.appendNull();
                    }
                    else {
                        rewriteBlock(fromKeyValueTypes.get(k), toKeyValueTypes.get(k), block, i, mapBuilder, coercers[k], bridgingRecordCursor);
                    }
                }
            }
            blockBuilder.closeEntry();
            pageBuilder.declarePosition();
            setObject(toType.getObject(blockBuilder, blockBuilder.getPositionCount() - 1));
        }