The ancestors of these classes evolved to have API for handling Type and Class separately. This is unnecessary.. we should unify this API by focusing on Type and special-casing Class.
This will simplify things and reduce the number of signatures.
Furthermore the API of <T> convert(Object, Class<T>) is really a holdover from the old uber-conversion mindset. What we should have is: