@SuppressWarnings("unchecked")
  public static <K> CowSet<K> emptySet()
  {
    return (CowSet<K>) EMPTY_SET;
  }
@Test
  public void testEmptySet()
  {
    final CowSet<String> set = CowUtil.emptySet();
    Assert.assertTrue(set.isEmpty());
    Assert.assertTrue(set.isReadOnly());

    try
    {
      mutateCollection(set);
      Assert.fail("Should have thrown UnsupportedOperationException");
    }
    catch (UnsupportedOperationException e)
    {
      // Expected case
    }

    Assert.assertTrue(CowUtil.<Object>emptySet().isEmpty());
  }