Всем привет! Подскажите, почему выкидывает исключение? Логика вроде простая: первый for проходит по значениям и отдаёт их во вложенный, в котором при наличии дубля прибавляется счётчик. Если счётчик больше 1, то значение отдаётся в метод "removeItemFromMapByValue", который модифицирует map.