package uebung09.collection;

public class SetFactory {

    private SetFactory() { /* don't instantiate */ }

    /**
     * Returns the empty set.
     *
     * @param <T> the element type of the returned set.
     * @return the empty set.
     */
    static <T> Set<T> create() {
        // TODO implement
        return null;
    }

    /**
     * Returns the singleton set containing the specified element.
     *
     * @param element an element (must not be null)
     * @param <T>     the element type of the returned set.
     * @return the singleton set containing the specified element.
     */
    static <T> Set<T> create(T element) {
        // TODO implement
        return null;
    }

    /**
     * Returns a set containing the specified elements. The specified elements may contain equal elements.
     *
     * @param elems elements of the returned set (may contain equal elements)
     * @param <T>   the element type of the returned set.
     * @return a set containing the specified elements.
     */
    static <T> Set<T> create(T... elems) {
        // TODO implement
        return null;
    }
}
