public static boolean isConversionFromObjectUnchecked(TypeMirror type) {
    return new CastingUncheckedVisitor().visit(type, null);
  }
Returns true if casting {@code Object} to the given type will elicit an unchecked warning from
the compiler. Only type variables and parameterized types such as {@code List<String>} produce
such warnings. There will be no warning if the type's only type parameters are simple
wildcards, as in {@code Map<?, ?>}.
common/src/main/java/com/google/auto/common/MoreTypes.java