diff --git a/jOOQ/src/main/java/org/jooq/Versions.java b/jOOQ/src/main/java/org/jooq/Versions.java
index 906f139c66..edb1ff351f 100644
--- a/jOOQ/src/main/java/org/jooq/Versions.java
+++ b/jOOQ/src/main/java/org/jooq/Versions.java
@@ -38,11 +38,13 @@
package org.jooq;
/**
- * A directed, acyclic graph of {@link Version} objects
+ * A directed, acyclic graph of {@link Version} objects.
+ *
+ * The graph is exposed as {@link Iterable} in no defined iteration order.
*
* @author Lukas Eder
*/
-public interface Versions {
+public interface Versions extends Iterable {
/**
* The root version of this graph.
diff --git a/jOOQ/src/main/java/org/jooq/impl/VersionsImpl.java b/jOOQ/src/main/java/org/jooq/impl/VersionsImpl.java
index 9fa4510f77..1e3d013ea0 100644
--- a/jOOQ/src/main/java/org/jooq/impl/VersionsImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/VersionsImpl.java
@@ -39,6 +39,7 @@ package org.jooq.impl;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
import org.jooq.Version;
@@ -81,4 +82,9 @@ final class VersionsImpl implements Versions {
public final Version get(String id) {
return versions.get(id);
}
+
+ @Override
+ public final Iterator iterator() {
+ return versions.values().iterator();
+ }
}