@Deprecated
  public String javaUnbox(Schema schema) {
    return javaUnbox(schema, false);
  }
@Test
  void javaUnboxDateTime() throws Exception {
    SpecificCompiler compiler = createCompiler();

    Schema dateSchema = LogicalTypes.date().addToSchema(Schema.create(Schema.Type.INT));
    Schema timeSchema = LogicalTypes.timeMillis().addToSchema(Schema.create(Schema.Type.INT));
    Schema timestampSchema = LogicalTypes.timestampMillis().addToSchema(Schema.create(Schema.Type.LONG));
    // Date/time types should always use upper level java classes, even though
    // their underlying representations are primitive types
    assertEquals("java.time.LocalDate", compiler.javaUnbox(dateSchema, false),
        "Should use java.time.LocalDate for date type");
    assertEquals("java.time.LocalTime", compiler.javaUnbox(timeSchema, false),
        "Should use java.time.LocalTime for time-millis type");
    assertEquals("java.time.Instant", compiler.javaUnbox(timestampSchema, false),
        "Should use java.time.Instant for timestamp-millis type");
  }