/guava/guava/src/com/google/common/reflect/TypeToken.java
if ( runtimeType.equals(supertype) || TypeVariable<?>) isSubtypeOf(supertype) {
if ( runtimeType instanceof TypeVariable ) {
if (supertype instanceof WildcardType) { return any(((WildcardType) supertype).getLowerBounds()).isSupertypeOf(runtimeType); } if (runtimeType instanceof WildcardType) { return any(((WildcardType) runtimeType).getUpperBounds()).isSubtypeOf(supertype); } <extra_id_0> return runtimeType.equals(supertype) || any(((TypeVariable<?>) runtimeType).getBounds()).isSubtypeOf(supertype); } if (runtimeType instanceof GenericArrayType) { return of(supertype).isSupertypeOfArray((GenericArrayType) runtimeType); }