diff --git a/src/java/org/apache/commons/collections/IteratorUtils.java b/src/java/org/apache/commons/collections/IteratorUtils.java
index e619c1fed..6d8496d38 100644
--- a/src/java/org/apache/commons/collections/IteratorUtils.java
+++ b/src/java/org/apache/commons/collections/IteratorUtils.java
@@ -1,7 +1,7 @@
/*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/IteratorUtils.java,v 1.4 2002/10/12 22:15:18 scolebourne Exp $
- * $Revision: 1.4 $
- * $Date: 2002/10/12 22:15:18 $
+ * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/IteratorUtils.java,v 1.5 2002/11/21 23:08:27 scolebourne Exp $
+ * $Revision: 1.5 $
+ * $Date: 2002/11/21 23:08:27 $
*
* ====================================================================
*
@@ -81,6 +81,7 @@ import org.apache.commons.collections.iterators.FilterListIterator;
import org.apache.commons.collections.iterators.IteratorChain;
import org.apache.commons.collections.iterators.IteratorEnumeration;
import org.apache.commons.collections.iterators.ListIteratorWrapper;
+import org.apache.commons.collections.iterators.LoopingIterator;
import org.apache.commons.collections.iterators.SingletonIterator;
import org.apache.commons.collections.iterators.SingletonListIterator;
import org.apache.commons.collections.iterators.TransformIterator;
@@ -90,7 +91,7 @@ import org.apache.commons.collections.iterators.TransformIterator;
* org.apache.commons.collections.iterators
subpackage.
*
* @author Stephen Colebourne
- * @version $Id: IteratorUtils.java,v 1.4 2002/10/12 22:15:18 scolebourne Exp $
+ * @version $Id: IteratorUtils.java,v 1.5 2002/11/21 23:08:27 scolebourne Exp $
* @since 2.1
*/
public class IteratorUtils {
@@ -395,6 +396,23 @@ public class IteratorUtils {
return new FilterListIterator(listIterator, predicate);
}
+ /**
+ * Gets an iterator that loops continuously over the supplied collection.
+ *
+ * The iterator will only stop looping if the remove method is called + * enough times to empty the collection, or if the collection is empty + * to start with. + * + * @param coll the collection to iterate over, not null + * @throws NullPointerException if the collection is null + */ + public static Iterator loopingIterator(Collection coll) { + if (coll == null) { + throw new NullPointerException("Collection must not be null"); + } + return new LoopingIterator(coll); + } + /** * Gets an iterator that provides an iterator view of the given enumeration. *