How can call public using MyClass as clazz where I can not instantiate or extend MyClas
See http://jackson.codehaus.org/1.7.0/javadoc/org/codehaus/jackson/type/TypeReference.html and the references that it references for a comprehensive discussion of the issues around generics.
the bottom line is that, if you really want to work with generic types in this way, you have to stop using Class and start using Type and its subclasses.
Contrary to your comment on another answer, you can write List, you just can't avoid a warning when you write it.> obj = (List
>) doit(List.class);