Скажем, у меня есть класс Foo, расширяющий Bar. Я создаю экземпляр Foo и сериализую его в файл.
Какой-то другой код читает этот файл и пытается воссоздать содержащиеся в нем экземпляры. Класс Bar виден этому коду, но не класс Foo.
Как он может десериализоваться обратно в экземпляр Bar? Включены ли метаданные иерархии классов в сериализованный вывод?