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);

    Assert.assertEquals(expected, actual);
  }