title: Java Programming Error: java.util.ConcurrentModificationException
body: <p>I'm writing a program as part of tutorial for a beginner Java student.  I have the following method and whenever I run it, it gives me the following exception:</p>
  
  <pre><code>  java.util.ConcurrentModificationException
          at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
          at java.util.AbstractList$Itr.next(AbstractList.java:343)
          at Warehouse.receive(Warehouse.java:48)
          at MainClass.main(MainClass.java:13)
  </code></pre>
  
  <p>Here's the method itself, within the class Warehouse:</p>
  
  <pre><code>public void receive(MusicMedia product, int quantity) {
  
    if ( myCatalog.size() != 0) { // Checks if the catalog is empty
  
      // if the catalog is NOT empty, it will run through looking to find
      // similar products and add the new product if there are none
      for (MusicMedia m : myCatalog) { 
          if ( !m.getSKU().equals(product.getSKU()) ) {
                  myCatalog.add(product);
          }
      }
  
    } else { // if the catalog is empty, just add the product
          myCatalog.add(product);
    }
  }
  </code></pre>
  
  <p>The problem seems to be with the if else statement.  If I don't include the if else, then the program will run, although it won't work properly because the loop won't iterate through an empty ArrayList.  </p>
  
  <p>I've tried adding a product just to keep it from being empty in other parts of the code, but it still gives me the same error.  Any ideas?</p>