В методе removeTheFirstDuplicates(Map<String, String> map) mapa принимает аргументы.Iterator<Map.Entry<String, String>> iterator = dif.entrySet().iterator(); Тут переменная вроде бы передаёт ключи и значения, которые заданы выше, с этим более менее понятно. А в этой строчке for (Map.Entry<String, String> pair : copy.entrySet()) итератор проходиться по mapе с помощью цикла? Где-то краем глаза увидел, что ребята решают двойным циклом(вложенным) или создают копию mapы. С двойными циклами, тоже хотелось бы глянуть вариант, но мне больше понравилась реализация, с копией mapы. И вот что-то не клеиться. Где-то по курсу я уже видел что-то похожее, но как то пропустил. Ребята помогите пожалуйста понять этот момент или какую-то абстрактную подсказку, толчок, а я уж дальше запедалю)...