public static ArrowType inferDataType(TypeRef<?> typeRef) {
    return inferField(typeRef).getType();
  }
@Test
  public void inferDataType() {
    List<Descriptor> descriptors = Descriptor.getDescriptors(BeanA.class);
    Schema schema = TypeInference.inferSchema(BeanA.class);
    List<String> fieldNames =
        schema.getFields().stream().map(Field::getName).collect(Collectors.toList());
    List<String> expectedFieldNames =
        descriptors.stream()
            .map(d -> CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, d.getName()))
            .collect(Collectors.toList());
    assertEquals(fieldNames, expectedFieldNames);
    schema.findField("double_list");
  }