The problem arises when you add or delete an item in your array list,
you should use "CopyOnWriteArrayList" for this
Iterator<String> iter = myArrayList.iterator();
while (iter.hasNext()) {
String str = iter.next();
if (someCondition)
iter.remove();
}