Друзья, добрый вечер! Задачу решил, но не раборался :) Несколько вопросов, буду признателен за ответы. 1. Почему мы вызываем writeObject не у самого объекта Solution, а у отдельно созданного потока? Почему нельзя вызвать solution.writeObject(new objectOutputStream(...))? 2. Почему потоки нельзя закрывать в методах readObject и writeObject? Они же больше не нужны после сериализации или десереализации? 3. Зачем нужен метод defaultWriteObject? Буду признателен за информативные ссылки, но заметил, что вот именно эта тема очень плхо раскрыта в материалах в интернете.