I think I'm missing something. We do have convert(Object object, Type toType) already so why don't you just pass setterType and do instanceof TypeVariable<?> and getTypeVariableClass in the convert method.