could you add a comment explaining how the fallback mechanism works?
something like: use provided avro schema, if not use file avro schema, if not generate avro schema from parquet schema.