private static String wildcardTypeParametersString(TypeElement type) {
    List<? extends TypeParameterElement> typeParameters = type.getTypeParameters();
    if (typeParameters.isEmpty()) {
      return "";
    } else {
      return typeParameters.stream().map(e -> "?").collect(joining(", ", "<", ">"));
    }
  }
Returns the {@code @AutoValue} or {@code @AutoOneOf} type parameters, with a ? for every type.
If we have {@code @AutoValue abstract class Foo<T extends Something>} then this method will
return just {@code <?>}.
value/src/main/java/com/google/auto/value/processor/AutoValueishProcessor.java