AvroUtil { public static Type primaryTypeIn(Schema schema) { if (schema.getType() == Type.UNION) { for (Schema sch : schema.getTypes()) { if (sch.getType() == Type.NULL) continue; return sch.getType(); } } return schema.getType(); } private  AvroUtil(); static boolean isRecordType(Schema schema); static Type primaryTypeIn(Schema schema); static boolean allowsNull(Schema schema); static Schema parseSchema(String schemaString); static Schema schemaFrom(URL url); static String childIntNodeAsString(Field field, String childId); static String defaultFor(Field field); static boolean denotesPrimitiveValue(Schema schema); static boolean isNullableSingleType(Field field); static boolean isNullableSingleType(List<Schema> types); static Schema nonNullSchemaIn(List<Schema> types); static Schema nullableSingleTypeIn(List<Schema> types);  }
@Test public void primaryTypeIn() { assertEquals(Type.RECORD, AvroUtil.primaryTypeIn(Person.SCHEMA$)); assertEquals(Type.INT, AvroUtil.primaryTypeIn(Person.SCHEMA$.getField("bellybuttons").schema())); }