class TinySet extends AbstractProxySet<E> {

    public static <T> Set<T> remove(Set<T> set, Object o)
    {
        if (set.isEmpty())
        {
            return set;
        }
        else if (set.size() == 1)
        {
            if (set.contains(o))
            {
                return Collections.emptySet();
            }
            return set;
        }
        else
        {
            if (set.remove(o))
            {
                return resetStorage(set);
            }
            return set;
        }
    }

}