private void destroyRelations(Object oldRelatedId, CmpEntityBeanContext ctx) {
   JDBCCMRFieldBridge relatedCMRField = (JDBCCMRFieldBridge) cmrField.getRelatedCMRField();
   relatedCMRField.removeRelatedPKWaitingForMyPK(oldRelatedId, ctx.getPrimaryKey());
   try {
     if (cmrField.isForeignKeyValid(oldRelatedId)) {
       cmrField.destroyRelationLinks(ctx, oldRelatedId, true, false);
     }
   } catch (Exception e) {
     // no such object
   }
 }
 private void createRelations(Object newRelatedId, CmpEntityBeanContext ctx) {
   try {
     if (cmrField.isForeignKeyValid(newRelatedId)) {
       cmrField.createRelationLinks(ctx, newRelatedId, false);
     } else {
       // set foreign key to a new value
       cmrField.setForeignKey(ctx, newRelatedId);
       // put calculated relatedId to the waiting list
       if (ctx.getPrimaryKey() != null) {
         JDBCCMRFieldBridge relatedCMRField = (JDBCCMRFieldBridge) cmrField.getRelatedCMRField();
         relatedCMRField.addRelatedPKWaitingForMyPK(newRelatedId, ctx.getPrimaryKey());
       }
     }
   } catch (Exception e) {
     // no such object
   }
 }