@SuppressWarnings("unchecked")
    private static boolean equalIntersectionTypes(
            TypeMirror a, TypeMirror b, Set<ComparedElements> visiting) {
        if (!isIntersectionType(b)) {
            return false;
        }
        List<? extends TypeMirror> aBounds;
        List<? extends TypeMirror> bBounds;
        try {
            aBounds = (List<? extends TypeMirror>) GET_BOUNDS.invoke(a);
            bBounds = (List<? extends TypeMirror>) GET_BOUNDS.invoke(b);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return equalLists(aBounds, bBounds, visiting);
    }
Utilities related to {@link TypeMirror} instances.

@author Gregory Kick
@since 2.0
android/annotation_processors/xposed_hook_compiler/src/main/java/github/tornaco/permission/compiler/common/MoreTypes.java