private String convertGroupType(GroupType group, boolean inferBinaryAsString) throws SerDeException {
    boolean first = true;
    StringBuilder sb = new StringBuilder(serdeConstants.STRUCT_TYPE_NAME + "<");
    for (Type field: group.getFields()) {
      if (first) {
        first = false;
      } else {
        sb.append(",");
      }
      // fieldName:typeName
      sb.append(field.getName()).append(":").append(convertParquetTypeToFieldType(field, inferBinaryAsString));
    }
    sb.append(">");
    // struct<fieldName1:int, fieldName2:map<string : int>, etc
    return sb.toString();
  }
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