Index: src/org/python/core/CollectionIter2.java =================================================================== --- src/org/python/core/CollectionIter2.java (revision 3189) +++ src/org/python/core/CollectionIter2.java (working copy) @@ -2,6 +2,8 @@ package org.python.core; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.*; class CollectionIter2 extends CollectionIter { @@ -19,7 +21,16 @@ if (object instanceof Iterator) { return new IteratorIter(((Iterator) object)); } - + try { + Method m = object.getClass().getMethod("iterator", new Class[0]); + if (Iterator.class.isAssignableFrom(m.getReturnType())) { + return new IteratorIter((Iterator)m.invoke(object, new Object[0])); + } + } catch(NoSuchMethodException e) { + } catch(IllegalArgumentException e) { + } catch(IllegalAccessException e) { + } catch(InvocationTargetException e) { + } return null; } }