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); }