In the end I decided to use reflections. By the way, will caching related method objects with static fields result in memory leaks?