Скорее всего дело в том, что нельзя, обходя HashSet, менять его. Это только догадки. Очень прошу объяснить, почему так код не работает? И как сделать правильно? Также буду благодарна за полезные ссылки на хорошие объяснения по данному вопросу.