@Override
 public <T> void setValue(String name, T value, Company instance) throws Exception {
   switch (name) {
     case "address": // CompanyAddress
       CompanyAddress addr = (CompanyAddress) value;
       addr.set(instance);
       break;
     case "balances": // List<CompanyBalance>
       List<CompanyBalance> balances = (List<CompanyBalance>) value;
       for (CompanyBalance balance : balances) balance.set(instance);
       break;
     case "address_categories": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.ADDRESS_CAT, (String) value);
       break;
     case "element_statuses": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.ELM_STATUS_CAT, (String) value);
       break;
     case "reason_codes": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.REASON_CODE_CAT, (String) value);
       break;
     case "diary_action_codes": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.DIARY_ACTION_CODE, (String) value);
       break;
     case "resolution_codes": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.RESOLUTION_CODE, (String) value);
       break;
     case "reporting_code": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE, (String) value);
       break;
     case "reporting_code_1": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE_1, (String) value);
       break;
     case "reporting_code_2": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE_2, (String) value);
       break;
     case "reporting_code_3": // String
       setEntityItem(
           instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE_3, (String) value);
       break;
     default:
       super.setValue(name, value, instance);
   }
 }
 @Override
 public void clearValue(String name, Company instance) throws Exception {
   switch (name) {
     case "address": // CompanyAddress
       CompanyAddress.clear(instance);
       break;
     case "balances": // List<CompanyBalance>
       CompanyBalance.clear(instance);
       break;
     case "address_categories": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.ADDRESS_CAT);
       break;
     case "element_statuses": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.ELM_STATUS_CAT);
       break;
     case "reason_codes": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.REASON_CODE_CAT);
       break;
     case "diary_action_codes": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.DIARY_ACTION_CODE);
       break;
     case "resolution_codes": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.RESOLUTION_CODE);
       break;
     case "reporting_code": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE);
       break;
     case "reporting_code_1": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE_1);
       break;
     case "reporting_code_2": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE_2);
       break;
     case "reporting_code_3": // String
       clearEntityItem(instance.getEntityList().getItem(), TypeCtEntityType.REPORTING_CODE_3);
       break;
     default:
       super.clearValue(name, instance);
   }
 }