public static IntersectionType asIntersection(TypeMirror maybeIntersectionType) {
    return maybeIntersectionType.accept(IntersectionTypeVisitor.INSTANCE, null);
  }
Returns an {@link IntersectionType} if the {@link TypeMirror} represents an intersection-type
or throws an {@link IllegalArgumentException}.
common/src/main/java/com/google/auto/common/MoreTypes.java