If you've gone to the trouble of writing an ``++iterator++`` method in a class that doesn't implement ``++Iterable++``, that trivial omission is costing you half the benefit of the method because you can't use the class in enhanced ``++for++`` loops. == Noncompliant Code Example [source,java] ---- public class MyList { // Noncompliant public Iterator iterator() { //... } } public class MyClass { public void doSomething(MyList myList) { Iterator itr = myList.iterator(); while (itr.hasNext() { Object obj = itr.next(); processObj(obj); } } } ---- == Compliant Solution [source,java] ---- public class MyList implements Iterable{ public Iterator iterator() { //... } } public class MyClass { public void doSomething(MyList myList) { for(Object obj : myList) { processObj(obj); } } } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] ''' == Comments And Links (visible only on this page) include::comments-and-links.adoc[] endif::env-github,rspecator-view[]