Java library to convert a Java object of one type into an object of another type (with another signature, possibly parameterized).