private static Object castUnion()

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