public MessageType getMessageType()
    {
        return messageType;
    }
@Test
    public void testMapKeyRepetitionLevel()
    {
        ParquetSchemaConverter schemaConverter = new ParquetSchemaConverter(
                ImmutableList.of(mapType(VARCHAR, INTEGER)),
                ImmutableList.of("test"));
        GroupType mapType = schemaConverter.getMessageType().getType(0).asGroupType();
        GroupType keyValueValue = mapType.getType(0).asGroupType();
        assertEquals(keyValueValue.isRepetition(REPEATED), true);
        Type keyType = keyValueValue.getType(0).asPrimitiveType();
        assertEquals(keyType.isRepetition(REQUIRED), true);
        PrimitiveType valueType = keyValueValue.getType(1).asPrimitiveType();
        assertEquals(valueType.isRepetition(OPTIONAL), true);

        schemaConverter = new ParquetSchemaConverter(
                ImmutableList.of(mapType(RowType.from(asList(field("a", VARCHAR), field("b", BIGINT))), INTEGER)),
                ImmutableList.of("test"));
        mapType = schemaConverter.getMessageType().getType(0).asGroupType();
        keyValueValue = mapType.getType(0).asGroupType();
        assertEquals(keyValueValue.isRepetition(REPEATED), true);
        keyType = keyValueValue.getType(0).asGroupType();
        assertEquals(keyType.isRepetition(REQUIRED), true);
        assertEquals(keyType.asGroupType().getType(0).asPrimitiveType().isRepetition(OPTIONAL), true);
        assertEquals(keyType.asGroupType().getType(1).asPrimitiveType().isRepetition(OPTIONAL), true);
        valueType = keyValueValue.getType(1).asPrimitiveType();
        assertEquals(valueType.isRepetition(OPTIONAL), true);
    }