@Test
 public void cartesianProduct() {
   MutableSet<String> set =
       MultiReaderUnifiedSet.newSetWith("1", "2", "3", "4").asReadUntouchable();
   LazyIterable<Pair<String, String>> cartesianProduct =
       set.cartesianProduct(UnifiedSet.newSetWith("One", "Two"));
   Verify.assertIterableSize(set.size() * 2, cartesianProduct);
   Assert.assertEquals(
       set,
       cartesianProduct
           .filter(Predicates.attributeEqual(Functions.<String>secondOfPair(), "One"))
           .transform(Functions.<String>firstOfPair())
           .toSet());
 }