The idea is that after you've formalized your protocol (ie. Externalizable or readObject/writeObject explicitly), you make a copy of this original class. Then, using a special ObjectOutputStream, you can redefine this class as a new name, hence converting from old to new or new to old.
For instance, I implement this here in ShrinkWrap to make Archives Serializable:
Recommend this approach, or one similar. Some folks like to serialize the original version into a .ser file which stays in SCM, and ends up being the basis for the test point. But that can only test compat in one direction.