The objective here is to make serialization and deserialization secure while making often-changing code easier to maintain.
Fields are being added to, and removed from, the business object classes over time;
this is causing problems with old serialized representations becoming inconsistent with new code.
B) Make unwanted instance variables private.
C) Make unwanted instance variables transient.
D) Add a serialPersistentFields array and refer to it from writeObject / readObject when writing or reading required variables.
The answer is D.