!!Imporant

-нельзя изменять значение ключа(иначе возможно сам знаешь что)
-написал костыльный энумератор(скелет)
-немного mapUtils