Every time I try to call ArrayList.remove() on an element while in a for each loop, Java throws a ConcurrentModificationException. I need to remove an element in a for loop because in there is where I look through the objects to find objects which meet the criteria for removal.