public static PersistentAssociation createAssociation(
     String name,
     PersistentMType source,
     PersistentMType target,
     boolean delayed$Persistence,
     PersistentAssociation This)
     throws PersistenceException {
   PersistentAssociation result = null;
   if (delayed$Persistence) {
     result =
         ConnectionHandler.getTheConnectionHandler()
             .theAssociationFacade
             .newDelayedAssociation(name);
     result.setDelayed$Persistence(true);
   } else {
     result =
         ConnectionHandler.getTheConnectionHandler().theAssociationFacade.newAssociation(name, -1);
   }
   java.util.Hashtable<String, Object> final$$Fields = new java.util.Hashtable<String, Object>();
   final$$Fields.put("name", name);
   final$$Fields.put("source", source);
   final$$Fields.put("target", target);
   result.initialize(This, final$$Fields);
   result.initializeOnCreation();
   return result;
 }
 public PersistentAssociation getThis() throws PersistenceException {
   if (this.This == null) {
     PersistentAssociation result = new AssociationProxi(this.getId());
     result.getTheObject();
     return result;
   }
   return (PersistentAssociation) this.This;
 }