in elitzur-avro/src/main/scala/com/spotify/elitzur/converters/avro/dynamic/dsl/AvroObjMapper.scala [71:81]
def mapToAccessors(fieldSchema: Schema, fieldTokens: AvroFieldTokens): AvroAccessorContainer = {
fieldSchema.getType match {
case _schema if PRIMITIVES.contains(_schema) =>
new IndexAccessorLogic(fieldSchema, fieldTokens).avroOp
case Schema.Type.ARRAY =>
new ArrayAccessorLogic(fieldSchema.getElementType, fieldTokens).avroOp
case Schema.Type.UNION =>
new NullableAccessorLogic(fieldSchema, fieldTokens).avroOp
case Schema.Type.MAP => throw new InvalidDynamicFieldException(UNSUPPORTED_MAP_SCHEMA)
}
}