Returns the generic supertype for {@code supertype} . For example, given a class {@code * IntegerSet} , the result for when supertype is {@code Set.class} is {@code Set} and the result when the supertype is {@code Collection.class} is {@code Collection} .