private String convertParquetMapLogicalTypeAnnotation(Type parquetType, boolean inferBinaryAsString)
          throws SerDeException {
    MapLogicalTypeAnnotation mType = (MapLogicalTypeAnnotation) parquetType.getLogicalTypeAnnotation();
    GroupType gType = parquetType.asGroupType();
    Type innerField = gType.getType(0);
    GroupType innerGroup = innerField.asGroupType();
    Type key = innerGroup.getType(0);
    Type value = innerGroup.getType(1);
    return createMapType(convertParquetTypeToFieldType(key, inferBinaryAsString),
            convertParquetTypeToFieldType(value, inferBinaryAsString));
  }
Given a complete struct type info and pruned paths containing selected fields
from the type info, return a pruned struct type info only with the selected fields.

For instance, if 'originalTypeInfo' is: s:struct<a:struct<b:int, c:boolean>, d:string>
  and 'prunedPaths' is ["s.a.b,s.d"], then the result will be:
  s:struct<a:struct<b:int>, d:string>

@param originalTypeInfo the complete struct type info
@param prunedPaths a string representing the pruned paths, separated by ','
@return the pruned struct type info
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.java