From Effective Java Second Edition, Item 28 : \"Do not use wildcard types as return types. Rather than providing additional flexibility for your users it would force them to
What if you have a TypeToken> and you want to get Class (that is the raw type). If it returned Class, then it would return Class> which is not Class that you want.