title: Java for each, but multiple iterator types?
body: <p>I have a class <code>Polygon</code> on which I wish to implement two iterators: one to run through all elements (vertices and edges in alternating order) just ONCE, and another to run through them ad infinitum (cyclically).</p>
  
  <p>From a for-each usage standpoint, my guess is that I am only going to be able to have one of the above be the default iterator that can be used with for-each, via implementation of <code>Iterable.iterator()</code>. Is this correct? Or is there a way I could use for-each with both?</p>