title: Why Iterator.next() throws ConcurrentModificationException
body: <p>Strangly enough, this small piece of code throws the above mentioned Exception.
  Also, looking at code posted around the web this seems to be correct:</p>
  
  <pre><code>import java.util.ArrayList;
  import java.util.Iterator;
  
  public class IteratorTest {
  
      ArrayList&lt;Integer&gt; arr = new ArrayList&lt;Integer&gt;();
  
      Iterator i = arr.iterator();
  
      public void show() {
          arr.add(2);
          arr.add(5);
          arr.add(9);
  
          while(i.hasNext()){
              System.out.println(i.next());
          }
      }
  }
  </code></pre>
  
  <p>Any advice?
  Thanks</p>