### Question:
CatalogSchemaParquetFieldConverter implements ParquetFieldConverter<List<SchemaField>> { private ParquetIOField createArrayField(SchemaField schemaField) throws ConnectorSDKException { ParquetIOField element = new ParquetIOField( "element", FieldConverterFunction.catalogToParquetFieldFunction.apply(schemaField.getArraySubType()), ParquetIORepetitionType.OPTIONAL, schemaField.getArraySubType() == DataType.Field_ObjectType || schemaField.getArraySubType() == DataType.Field_ArrayType || schemaField.getArraySubType() == DataType.Field_MapType ? convert(schemaField.getSubFields()) : null ); ParquetIOField parquetIOField = new ParquetIOField( schemaField.getName(), ParquetIODataType.LIST, ParquetIORepetitionType.OPTIONAL, Arrays.asList(element) ); return parquetIOField; }  @Override List<ParquetIOField> convert(List<SchemaField> data);  }### Answer:
@Test public void TestCreateArrayField() throws ConnectorSDKException { List<SchemaField> subFields = new ArrayList<>(); SchemaField subField1 = new SchemaField("subField1", DataType.StringType, null); SchemaField subField2 = new SchemaField("subField2", DataType.StringType, null); SchemaField subField3 = new SchemaField("subField3", DataType.StringType, null); subFields.add(subField1); subFields.add(subField2); subFields.add(subField3); SchemaField arrayField = new SchemaField("arrayField", DataType.Field_ArrayType, subFields, DataType.StringType); List<SchemaField> data = new ArrayList<>(); data.add(arrayField); List<ParquetIOField> parquetIOFields = fieldConverter.convert(data); assertEquals(parquetIOFields.get(0).getSubFields().size(), 1); assertEquals(parquetIOFields.get(0).getSubFields().get(0).getType(), ParquetIODataType.STRING); }