Genau so würde ich es auch machen.
Überschreibe in deiner Klasse die clone() Methode und definier selber, was gemacht werden soll. Das ist am Sichersten.
Dann kannst du auch noch die Listen ableiten und sie und die darin enthaltenen Objekte clone() implementieren lassen.