Здравствуйте! Не совсем понимаю что делается в коде:
package com.javarush.task.jdk13.task08.task0817;

import java.util.HashMap;
import java.util.Map;

/*
Удалить людей, имеющих одинаковые имена
*/

public class Solution {
    public static Map<String, String> createMap() {
        Map<String, String> map = new HashMap<>();
        map.put("Смирнов", "Сильвестр");
        map.put("Иванов", "Дмитрий");
        map.put("Кузнецов", "Арнольд");
        map.put("Соколов", "Роман");
        map.put("Попов", "Максим");
        map.put("Лебедев", "Ярослав");
        map.put("Новиков", "Александр");
        map.put("Козлов", "Михаил");
        map.put("Морозов", "Илья");
        map.put("Петров", "Алексей");
        return map;
    }

    public static void removeTheFirstNameDuplicates(Map<String, String> map) {
        Map<String, String> copy = new HashMap<>(map);

        for (String name : copy.values()) {
            int count = 0;
            for (String nameTmp : map.values()) {
                if (nameTmp.equals(name)) {
                    count++;
                }
            }
            if (count > 1) {
                removeItemFromMapByValue(map, name);
            }
        }
    }

    public static void removeItemFromMapByValue(Map<String, String> map, String value) {
        Map<String, String> copy = new HashMap<>(map);
        for (Map.Entry<String, String> pair : copy.entrySet()) {
            if (pair.getValue().equals(value)) {
                map.remove(pair.getKey());
            }
        }
    }

    public static void main(String[] args) {

    }
}
именно эту часть:
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
       Map<String, String> copy = new HashMap<>(map);
       for (Map.Entry<String, String> pair : copy.entrySet()) {
           if (pair.getValue().equals(value)) {
               map.remove(pair.getKey());
           }
       }
То есть у нас теперь 2 совершенно одинаковые коллекции map и copy. И как я понимаю в этой строчке if (pair.getValue().equals(value)) мы сравниваем равны ли все ключи по очереди из коллекции map первому ключу коллекции copy, потом второму ключу коллекции copy и так до конца пока все ключи коллекции copy не проверяться. Верно? Заранее спасибо!