private ServiceConfig getSocialAuthenticationServiceConfig(final String realm) throws SSOException, SMSException { ServiceConfig realmSocialAuthServiceConfig = realmSocialAuthServiceConfigMap.get(realm); if (realmSocialAuthServiceConfig == null || !realmSocialAuthServiceConfig.isValid()) { synchronized (realmSocialAuthServiceConfigMap) { realmSocialAuthServiceConfig = realmSocialAuthServiceConfigMap.get(realm); if (realmSocialAuthServiceConfig == null || !realmSocialAuthServiceConfig.isValid()) { SSOToken token = AccessController.doPrivileged(AdminTokenAction.getInstance()); ServiceConfigManager mgr = new ServiceConfigManager(SocialAuthenticationImplementation.SERVICE_NAME, token); realmSocialAuthServiceConfig = mgr.getOrganizationConfig(realm, null); realmSocialAuthServiceConfigMap.put(realm, realmSocialAuthServiceConfig); } } } return realmSocialAuthServiceConfig; }