class TinySet extends AbstractProxySet<E> {

    public static <T> Set<T> retainAll(Set<T> mySet, Collection<?> c)
    {
        if (mySet.isEmpty())
        {
            return mySet;
        }
        else if (mySet.size() == 1)
        {
            if (c.contains(mySet.iterator().next()))
            {
                return mySet;
            }
            return Collections.emptySet();
        }
        else if (mySet.retainAll(c))
        {
            return resetStorage(mySet);
        }
        else
        {
            return mySet;
        }
    }

}