以下で "x" のところをA, B, C, Eのどれかにすると
java.util.ConcurrentModificationException
が発生するのに、Dにしたときだけ発生しないのはなぜですか?

¦ ArrayList<String> list = new ArrayList<>();
¦ list.add("A");
¦ list.add("B");
¦ list.add("C");
¦ list.add("D");
¦ list.add("E");

¦ for (String str : list) {
¦ ¦ if ("X".equals(str)) {
¦ ¦ ¦ list.remove(str);
¦ ¦ }
¦ }