internal static IMailboxContext GetMailboxContext(HttpContext httpContext, AuthZClientInfo effectiveCaller = null, bool create = true) { if (httpContext == null) { throw new ArgumentNullException("httpContext"); } ClientSecurityContext overrideClientSecurityContext = (effectiveCaller == null) ? null : effectiveCaller.ClientSecurityContext; UserContextCookie userContextCookie; UserContextKey userContextKey = UserContextManager.GetUserContextKey(httpContext, overrideClientSecurityContext, out userContextCookie); if (!create) { return(UserContextManager.GetMailboxContextFromCache(userContextKey)); } return(UserContextManager.AcquireUserContext(httpContext, effectiveCaller, userContextKey, userContextCookie)); }