Почему компилятор ругается при удалении первого элемента мапы итератором? Функция удаляет совпадения со строкой, начиная со второго элемента и если есть хоть одно совпадение, затем удаляется и первый элемент
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
        int i=0;
        Iterator <Map.Entry<String, String>> iterator = map.entrySet().iterator();
        iterator.next();
        while(iterator.hasNext())
        if (iterator.next().getValue().equals(value))
        {
            iterator.remove();
            i++;
        }
        System.out.println(map);
        if (i>0)
           iterator = map.entrySet().iterator();
            iterator.remove();
    }