}
abstract class AbstractEntityVisitor extends BaseTreeVisitor {
AbstractEntityVisitor() {
BaseTreeVisitor attributeVisitor = new BaseTreeVisitor();
attributeVisitor.addChildVisitor(JpaId.class, new IdVisitor());
attributeVisitor.addChildVisitor(JpaBasic.class, new BasicVisitor());
attributeVisitor.addChildVisitor(JpaVersion.class, new VersionVisitor());
attributeVisitor.addChildVisitor(JpaManyToOne.class, new FKVisitor());
attributeVisitor.addChildVisitor(JpaOneToOne.class, new FKVisitor());
attributeVisitor.addChildVisitor(
JpaManyToMany.class,
new RelationshipVisitor());
attributeVisitor.addChildVisitor(
JpaOneToMany.class,
new RelationshipVisitor());
addChildVisitor(JpaAttributes.class, attributeVisitor);
addChildVisitor(JpaId.class, new IdVisitor());