Записываю в итератор первый элемент колекции, удаляю и мне выводится ошибка : Exception in thread "main" java.lang.IllegalStateException at java.base/java.util.HashMap$HashIterator.remove(HashMap.java:1609) at com.javarush.task.task08.task0819.Solution.main(Solution.java:18) Не могу понять что за ошибка и почему он не удаляет итератор код:
public class Solution {
    public static void main(String[] args) {
        Set<Cat> cats = createCats();

        //напишите тут ваш код. step 3 - пункт 3
        Iterator<Cat>i=cats.iterator();
        i.remove();
        printCats(cats);
    }

    public static Set<Cat> createCats() {
        //напишите тут ваш код. step 2 - пункт 2
        Set<Cat> cats = new HashSet<>();
        cats.add(new Cat());
        cats.add(new Cat());
        cats.add(new Cat());
        return cats;
    }

    public static void printCats(Set<Cat> cats) {
        // step 4 - пункт 4
        for(Cat cat:cats) System.out.println(cat);
    }

    // step 1 - пункт 1
    public static class Cat{

    }
}