Почему компилятор ругается при удалении первого элемента мапы итератором? Функция удаляет совпадения со строкой, начиная со второго элемента и если есть хоть одно совпадение, затем удаляется и первый элемент
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();
}