title: Java: Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
body: <p>i am currently trying to code my own little 2D Game. It's a Helicopter dodging rockets.
  these rockets flighing from right to the left. If they are outside of the Panel they should be deleted. </p>
  
  <p>this is how it looks like:</p>
  
  <pre><code>private void doLogic() {
  
  
       Vector&lt;Sprite&gt; trash = new Vector&lt;Sprite&gt;();
  
       for (Movable mov : actors) {
          mov.doLogic(delta);
          Sprite check = (Sprite) mov;
          if (check.remove) {
              trash.add(check);
          }
      }
  
       if (trash.size() &gt; 0) {
           for (Sprite s : trash) {
               actors.remove(s);
          }
      }
  
      for (int i = 0; i &lt; actors.size(); i++) {
          for (int n = i + 1; n &lt; actors.size(); n++) {
  
              Sprite s1 = actors.elementAt(i);
              Sprite s2 = actors.elementAt(n);
  
              s1.collidedWith(s2);
          }
      }
  
  }
  </code></pre>
  
  <p>and my print:</p>
  
  <pre><code>    public void paintComponent(Graphics g) {
      super.paintComponent(g);
  
      if (!isStarted()) {
          return;
      }
  
      if (actors != null) {
          for (Drawable draw : actors) {
              draw.drawObjects(g);
          }
      }
  }
  </code></pre>
  
  <p>that's the Error I get everytime a rocket leaves the Panelarea:</p>
  
  <pre><code>Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
      at java.util.Vector$Itr``.checkForComodification(Vector.java:1156)
      at java.util.Vector$Itr.next(Vector.java:1133)
      at GamePanel.paintComponent(GamePanel.java:339)
      at javax.swing.JComponent.paint(JComponent.java:1045)
      at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
      at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
      at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
      at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
      at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
      at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
      at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
      at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
      at java.awt.EventQueue.access$200(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:694)
      at java.awt.EventQueue$3.run(EventQueue.java:692)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
  </code></pre>
  
  <p>I hope you can help me :)</p>