Type-safe Implementation of
Java Reflection