public ICFSecurityTenantObj getSystemTenant() {
   boolean transactionStarted = schema.beginTransaction();
   ICFSecurityTenantObj tenantObj;
   try {
     schema.getAuditActionTableObj().bootstrapAuditActions();
     ICFSecurityClusterObj clusterObj = schema.getClusterTableObj().getSystemCluster();
     tenantObj = readTenantByUNameIdx(clusterObj.getRequiredId(), "system");
     if (tenantObj == null) {
       tenantObj = newInstance();
       ICFSecurityTenantEditObj tenantEdit = tenantObj.beginEdit();
       tenantEdit.setRequiredContainerCluster(clusterObj);
       tenantEdit.setRequiredTenantName("system");
       tenantObj = tenantEdit.create();
       tenantEdit.endEdit();
     }
     if (transactionStarted) {
       schema.commit();
     }
   } catch (RuntimeException e) {
     if (transactionStarted) {
       try {
         schema.rollback();
       } catch (Exception e2) {
       }
     }
     throw e;
   }
   return (tenantObj);
 }