### Question:
CachedCatalogSchemaParquetFieldConverter implements ParquetFieldConverter<List<SchemaField>> { @Override public List<ParquetIOField> convert(List<SchemaField> data) throws ConnectorSDKException { if (!parquetFields.isPresent()) { parquetFields = Optional.of(converter.convert(data)); } return parquetFields.get(); } CachedCatalogSchemaParquetFieldConverter(ParquetFieldConverter<List<SchemaField>> converter); @Override List<ParquetIOField> convert(List<SchemaField> data);  }### Answer:
@Test public void TestNonCachedSchemaFieldConversion() throws ConnectorSDKException { List<ParquetIOField> parquetFields = cachedConverter.convert(getMockSchemaFields()); assert (parquetFields.size() == 1); verify(fieldConverter, times(1)).convert(anyListOf(SchemaField.class)); cachedConverter.convert(getMockSchemaFields()); }