public ICFGenKbISOCountryLanguageEditObj beginEdit() {
   if (edit != null) {
     throw CFLib.getDefaultExceptionFactory()
         .newUsageException(getClass(), "beginEdit", "An edit is already open");
   }
   ICFGenKbISOCountryLanguageObj lockobj;
   if (getIsNew()) {
     lockobj = (ICFGenKbISOCountryLanguageObj) this;
   } else {
     lockobj = schema.getISOCountryLanguageTableObj().lockISOCountryLanguage(getPKey());
   }
   edit = schema.getISOCountryLanguageTableObj().newEditInstance(lockobj);
   return ((ICFGenKbISOCountryLanguageEditObj) edit);
 }
 public ICFGenKbISOCountryLanguageObj realize() {
   ICFGenKbISOCountryLanguageObj retobj =
       schema
           .getISOCountryLanguageTableObj()
           .realizeISOCountryLanguage((ICFGenKbISOCountryLanguageObj) this);
   return ((ICFGenKbISOCountryLanguageObj) retobj);
 }
 public ICFGenKbISOCountryLanguageObj read() {
   ICFGenKbISOCountryLanguageObj retobj =
       schema
           .getISOCountryLanguageTableObj()
           .readISOCountryLanguageByIdIdx(
               getPKey().getRequiredISOCountryId(), getPKey().getRequiredISOLanguageId(), false);
   return ((ICFGenKbISOCountryLanguageObj) retobj);
 }
 public ICFGenKbISOCountryLanguageTableObj getISOCountryLanguageTable() {
   return (schema.getISOCountryLanguageTableObj());
 }
 public void forget(boolean forgetSubObjects) {
   schema
       .getISOCountryLanguageTableObj()
       .forgetISOCountryLanguage((ICFGenKbISOCountryLanguageObj) this, forgetSubObjects);
 }