### Question:
Generics { public static <E> Generic<Set<E>> set(Class<E> elementClass) { return (Generic<Set<E>>) Generic.get(Set.class, elementClass); } private  Generics(); static Generic<Comparator<T>> comparator(Class<T> type); static Generic<Enumeration<E>> enumeration(Class<E> elementClass); static Generic<Iterator<E>> iterator(Class<E> elementClass); static Generic<ListIterator<E>> listIterator(Class<E> elementClass); static Generic<Collection<E>> collection(Class<E> elementClass); static Generic<Set<E>> set(Class<E> elementClass); static Generic<SortedSet<E>> sortedSet(Class<E> elementClass); static Generic<List<E>> list(Class<E> elementClass); static Generic<Map<K, V>> map(Class<K> keyClass, Class<V> valueClass); static Generic<SortedMap<K, V>> sortedMap(Class<K> keyClass, Class<V> valueClass); static Generic<Queue<E>> queue(Class<E> elementClass);  }### Answer:
@Test public void set() { assertEquals(new Generic<Set<String>>() {}, Generics.set(String.class)); }