This allows deserializing the first base class on its own, even then the
derived class has been serialized. That makes sense if the full object (of
the derived class) should be stored but sometimes only the "base fields"
(of the base class) are needed.
So the behavior is consistent with readng members and with serialization.
It should be fine because if the base class is versioned it won't make a
difference but if it is versioned the version from the derived class can be
utilized.