combined.addAll(set1); combined.addAll(set2);  MultiIterator<String> it = new MultiIterator<String>(); it.addCollection(set1); it.addCollection(set2);
MultiIterator<String> it = setUpTwo(set1, set2, combined);
    public void testMulti()    {        Set<String> set1 = new HashSet<String>();        Set<String> set2 = new HashSet<String>();        set1.add("a");        set1.add("b");        set1.add("c");        set1.add("d");        set2.add("e");        set2.add("f");        set2.add("g");        set2.add("h");        Set<String> combined = new HashSet<String>();        combined.addAll(set1);        combined.addAll(set2);        MultiIterator<String> it = new MultiIterator<String>();        it.addCollection(set1);        it.addCollection(set2);        while (it.hasNext())        {            String item = it.next();            assertTrue("Iterator returned value not in collection",                       combined.contains(item));            combined.remove(item);        }        assertTrue("Iterator didn't return all items", combined.isEmpty());    }