Для чего такое построение: Map в key содержит имя, и класс Cat в аргументе тоже содержит имя кота. Следовательно value в map содержит объект с именем кота. Но при этом имена котов в key и value могут не совпадать... В чем смысл? PS. Задачу решил.