Ошибка исключения одновременной модификации Java

Я играю с некоторым кодом для моего курса колледжа и изменил метод с

public boolean removeStudent(String studentName)
{
    int index = 0;
    for (Student student : students)
    {
        if (studentName.equalsIgnoreCasee(student.getName()))
        {
            students.remove(index);
            return true;
        }
        index++;
    }
    return false;
}

Для того, чтобы:

public void removeStudent(String studentName) throws StudentNotFoundException
{
    int index = 0;
    for (Student student : students)
    {
        if (studentName.equalsIgnoreCase(student.getName()))
        {
            students.remove(index);
        }
        index++;
    }
    throw new  StudentNotFoundException( "No such student " + studentName);
}

Но новый метод продолжает выдавать ошибку параллельной модификации. Как я могу обойти это и почему это происходит?

Ответы на вопрос(8)

Ваш ответ на вопрос