@Override public TypeMapping visit(org.apache.arrow.vector.types.pojo.ArrowType.List type) { if (children.size() != 1) { throw new IllegalArgumentException("list fields must have exactly one child: " + field); } TypeMapping parquetChild = fromArrow(children.get(0), "element"); GroupType list = Types.optionalList().element(parquetChild.getParquetType()).named(fieldName); return new ListTypeMapping(field, new List3Levels(list), parquetChild); }