public synchronized void saveSecurityConfig(SecurityManagerConfig config) throws Exception {
SecurityManagerConfig oldConfig = new SecurityManagerConfig(this.securityConfig);
SecurityConfigValidator validator = new SecurityConfigValidator(this);
validator.validateManagerConfig(config,oldConfig);
//save the current config to fall back to
// The whole try block should run as a transaction, unfortunately