@Override
    public final Iterator<E> iterator() {
        return delegate.iterator();
    }
@Test
    public void requireThatSingletonIteratorNextThrowsIfInvokedMoreThanOnce() {
        LazySet<String> set = newSingletonSet("foo");
        Iterator<String> it = set.iterator();
        it.next();
        try {
            it.next();
            fail();
        } catch (NoSuchElementException e) {

        }
        try {
            it.next();
            fail();
        } catch (NoSuchElementException e) {

        }
    }