@Override
 public synchronized void startup() {
   ITenant defaultTenant = null;
   loginAsRepositoryAdmin();
   ITenantManager tenantMgr = getTenantManager();
   ITenant systemTenant =
       tenantMgr.createTenant(
           null,
           ServerRepositoryPaths.getPentahoRootFolderName(),
           tenantAdminRoleName,
           tenantAuthenticatedRoleName,
           "Anonymous");
   if (systemTenant != null) {
     userRoleDao.createUser(
         systemTenant,
         systemTenantAdminUserName,
         "password",
         "",
         new String[] {tenantAdminRoleName, tenantAuthenticatedRoleName});
     defaultTenant = tenantMgr.getTenant(JcrTenantUtils.getDefaultTenant().getId());
     if (defaultTenant == null) {
       // We'll create the default tenant here... maybe this isn't the best place.
       defaultTenant =
           tenantMgr.createTenant(
               systemTenant,
               TenantUtils.TENANTID_SINGLE_TENANT,
               tenantAdminRoleName,
               tenantAuthenticatedRoleName,
               "Anonymous");
       userRoleDao.createUser(
           defaultTenant,
           singleTenantAdminUserName,
           "password",
           "",
           new String[] {tenantAdminRoleName});
     }
   }
 }