Constructor ctor = securityMgrClass.getConstructor(parameterTypes);
CallbackHandler handler = (CallbackHandler) callbackHandlerClass.newInstance();
Object[] args = {securityDomain, handler};
AuthenticationManager securityMgr = (AuthenticationManager) ctor.newInstance(args);
log.debug("Created securityMgr="+securityMgr);
CachePolicy cachePolicy = lookupCachePolicy(securityDomain);
sdc = new SecurityDomainContext(securityMgr, cachePolicy);
// See if the security mgr supports an externalized cache policy
setSecurityDomainCache(securityMgr, cachePolicy);
if(deepCopySubjectMode)
setDeepCopySubjectOption(securityMgr, true);