Record deserialize(Object data) {
    return (Record) fieldDeserializer.value(data);
  }
@Test
  public void testListDeserialize() {
    Schema schema =
        new Schema(optional(1, "list_type", Types.ListType.ofOptional(2, Types.LongType.get())));

    StructObjectInspector inspector =
        ObjectInspectorFactory.getStandardStructObjectInspector(
            Arrays.asList("list_type"),
            Arrays.asList(
                ObjectInspectorFactory.getStandardListObjectInspector(
                    PrimitiveObjectInspectorFactory.writableLongObjectInspector)));

    Deserializer deserializer =
        new Deserializer.Builder()
            .schema(schema)
            .writerInspector((StructObjectInspector) IcebergObjectInspector.create(schema))
            .sourceInspector(inspector)
            .build();

    Record expected = GenericRecord.create(schema);
    expected.set(0, Collections.singletonList(1L));

    Object[] data = new Object[] {new Object[] {new LongWritable(1L)}};
    Record actual = deserializer.deserialize(data);

    assertThat(actual).isEqualTo(expected);
  }