public virtual IEnumerable <CategoriaConteudo> ObterPais(bool incluirEste = true)
        {
            var retorno = new List <CategoriaConteudo>();

            if (incluirEste)
            {
                retorno.Add(this);
            }

            if (CategoriaConteudoPai != null)
            {
                retorno.Add(CategoriaConteudoPai);
                retorno.AddRange(CategoriaConteudoPai.ObterPais(false));
            }

            return(retorno);
        }
 /// <summary>
 /// Verifica se essa Categoria possui permissão de exibir Áreas/Subáreas ou, caso não possua, verifica se algum pai da hierarquia possui permissão de exibir.
 /// </summary>
 /// <returns></returns>
 public virtual bool PossuiGerenciamentoAreas()
 {
     return(PossuiAreas == null
         ? CategoriaConteudoPai != null && CategoriaConteudoPai.PossuiGerenciamentoAreas()
         : PossuiAreas == true);
 }