in src/main/java/com/epam/eco/commons/avro/converter/AvroCaster.java [173:186]
private static Object castUnion(
Object value,
Schema unionSchema,
Schema unionCastSchema,
Set<Feature> features) {
int schemaPos = GenericData.get().resolveUnion(unionSchema, value);
if (schemaPos >= unionCastSchema.getTypes().size()) {
return null;
}
Schema valueSchema = unionSchema.getTypes().get(schemaPos);
Schema valueCastSchema = unionCastSchema.getTypes().get(schemaPos);
return castValue(value, valueSchema, valueCastSchema, features);
}