Once I made VehicleDTO serializable, things worked as expected. Eclipse JDT warns that the CarDTO should have the serialId even though it's parent VehicleDTO has it. So this looks like an Eclipse "bug".
[Message sent by forum member 'r_sudh' (r_sudh)]
http://forums.java.net/jive/thread.jspa?messageID=244643