package de.invesdwin.util.collections.iterable.concurrent;
import javax.annotation.concurrent.ThreadSafe;
import de.invesdwin.util.collections.iterable.ICloseableIterable;
import de.invesdwin.util.collections.iterable.ICloseableIterator;
@ThreadSafe
public class SynchronizedIterable<E> implements ICloseableIterable<E> {
private final ICloseableIterable<E> delegate;
public SynchronizedIterable(final ICloseableIterable<E> delegate) {
this.delegate = delegate;
}
@Override
public ICloseableIterator<E> iterator() {
return new SynchronizedIterator<E>(delegate.iterator());
}
}