@Override
    public DeclaredType visitDeclared(DeclaredType type, Void ignore) {
      return type;
    }
Returns a {@link DeclaredType} if the {@link TypeMirror} represents a declared type such as a
class, interface, union/compound, or enum or throws an {@link IllegalArgumentException}.
common/src/main/java/com/google/auto/common/MoreTypes.java