public static void Deslogar(string login = null, bool isDeslogarForcado = false)
        {
            if (login == null && HttpContext.Current.User == null && !(HttpContext.Current.User is EtramitePrincipal))
            {
                return;
            }

            AutenticacaoExecutor executor = new AutenticacaoExecutor();

            executor.Tipo = (int)eExecutorTipo.Credenciado;
            UsuarioBus busUsuario = new UsuarioBus(HistoricoAplicacao.CREDENCIADO, UsuarioCredenciado);

            if (HttpContext.Current.User != null && (HttpContext.Current.User is EtramitePrincipal))
            {
                EtramitePrincipal user = (HttpContext.Current.User as EtramitePrincipal);
                login              = user.EtramiteIdentity.Login;
                executor.Tid       = user.EtramiteIdentity.FuncionarioTid;
                executor.UsuarioId = user.EtramiteIdentity.UsuarioId;
            }
            else
            {
                CredenciadoPessoa credenciado = _busCred.Obter(login);
                executor.Tid       = credenciado.Tid;
                executor.UsuarioId = credenciado.Usuario.Id;
            }

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
            {
                bancoDeDados.IniciarTransacao();

                busUsuario.Deslogar(login, executor, isDeslogarForcado, bancoDeDados);
                _busCred.Deslogar(login, bancoDeDados);

                bancoDeDados.Commit();
            }
        }