A library to simplify java reflection with generics