code: public static WildcardTypeName supertypeOf(TypeName lowerBound) {
      return new WildcardTypeName(Collections.singletonList(OBJECT),
          Collections.singletonList(lowerBound));
    }
docs: Returns a type that represents an unknown supertype of {@code bound}. For example, if {@code
  bound} is {@code String.class}, this returns {@code ? super String}.