public static List < ? extends Class < ? > > intersectRawTypes ( List < Class < ? > > classes1 , List < Class < ? > > classes2 ) { // most typical case if ( classes1 . size ( ) == 1 && classes2 . size ( ) == 1 ) { return intersectRawTypes ( classes1 . get ( 0 ) , classes2 . get ( 0 ) ) ; } else { return list ( removeSubClasses ( intersection ( classesAndInterfaces ( classes1 ) , classesAndInterfaces ( classes2 ) ) ) ) ; } }
Returns the intersection of raw types of classes and all super classes and interfaces .