При переходе с 15 задания на 16 мой код распаковки был заменен на код от явараш. Так вот новый код некорректно работает с каталогами в архиве. Т.е. задумано, что все архивы могут быть только без каталогов. Как итог программа просто создает пустой файл с именем как у каталога и ловит исключение. Я понимаю, что тут "считается", что в архивах нет каталогов, но если вы учите задачей работать с архивами, то стоит упоминать то, что ZipEntry - это не только файлы, но и каталоги.