// from here the code is copied essentially verbatim
// from CayenneEnhancerVisitorFactory.
// create enhancer chain
PersistentInterfaceVisitor e1 = new PersistentInterfaceVisitor(out);
JpaAccessorVisitor e2 = new JpaAccessorVisitor(e1, descriptor);
// this ensures that both enhanced and original classes have compatible serialized
// format even if no serialVersionUID is defined by the user
SerialVersionUIDAdder e3 = new SerialVersionUIDAdder(e2);