extract option info from annotation via reflection
explore how to use reflect to get annotation: 100%
[bugfix] variable re-def in pattern matching makes find wrong field
refactor
throw exception at type mismatch