### Question:
Types { public static WildcardType unboundedWildcardType() { return wildcardType(null, null); } private  Types(); static TypeVariable<D> typeVariable(D declaration, String name,
		Type... bounds); static GenericArrayType genericArrayType(Type componentType); static ParameterizedType parameterizedType(Class<?> rawType, Type... actualTypeArguments); static WildcardType unboundedWildcardType(); static WildcardType upperBoundedWildcardType(Type upperBound); static WildcardType lowerBoundedWildcardType(Type lowerBound); static Type valueOf(String typeName); static Type valueOf(String typeName, Set<String> imports);  }### Answer:
@Test public void unboundedWildcardType() { WildcardType type = Types.unboundedWildcardType(); assertNotNull(type); assertArrayEquals(new Type[] {Object.class}, type.getUpperBounds()); assertArrayEquals(new Type[0], type.getLowerBounds()); assertEquals(type, unboundedWildcardType); assertEquals(unboundedWildcardType, type); }