/// <summary>
        /// Opens the specified SSO URL to the user.
        /// </summary>
        /// <param name="ssoUrl">The Uri that the user was redirected to in order to perform their SSO authentication.</param>
        protected override void OpenSsoPageInternal(Uri ssoUrl)
        {
            try
            {
                SsoWindow window = new SsoWindow();
                window.ShowSsoPage(this, ssoUrl);
            }
            catch
            {
                SsoWindow window = null;
                Application.Current.Dispatcher.Invoke(delegate() { window = new SsoWindow(); });
                if (window != null)
                {
                    Application.Current.Dispatcher.Invoke(delegate() { window.ShowSsoPage(this, ssoUrl); });
                }
            }

            if (WindowStateChanged != null)
            {
                WindowStateChanged.Invoke(WindowTypeOption.SsoLogin, WindowStateOption.Open);
            }
        }
		/// <summary>
		/// Opens the specified SSO URL to the user.
		/// </summary>
		/// <param name="ssoUrl">The Uri that the user was redirected to in order to perform their SSO authentication.</param>
		protected override void OpenSsoPageInternal(Uri ssoUrl)
		{
			try
			{
				SsoWindow window = new SsoWindow();
				window.ShowSsoPage(this, ssoUrl);
			}
			catch
			{
				SsoWindow window = null;
				Application.Current.Dispatcher.Invoke(delegate() { window = new SsoWindow(); });
				if (window != null)
				{
					Application.Current.Dispatcher.Invoke(delegate() { window.ShowSsoPage(this, ssoUrl); });
				}
			}

			if (WindowStateChanged != null)
				WindowStateChanged.Invoke(WindowTypeOption.SsoLogin, WindowStateOption.Open);
		}