private Processo(Guid id,
                  string numeroProcessoUnificado,
                  DateTime?distribuicao,
                  string pastaFisicaCliente,
                  string descricao,
                  bool segredoJustica,
                  Situacao situacao,
                  IEnumerable <Responsavel> responsaveis,
                  Guid?processoPaiID)
 {
     ID = id;
     NumeroProcessoUnificado = ValidateNumeroProcessoUnificado(numeroProcessoUnificado);
     Distribuicao            = distribuicao;
     SegredoJustica          = segredoJustica;
     PastaFisicaCliente      = ValidPastaFisicaCliente(pastaFisicaCliente);
     Descricao            = ValidDescricao(descricao);
     ProcessoPaiID        = processoPaiID;
     Situacao             = ValidSituacao(situacao);
     SituacaoID           = situacao.ID;
     ProcessoResponsaveis = ToProcessoResposaveis(ID, responsaveis);
     AddDomainEvent(new CreateProcessoDomainEvent(this));
     AddAfterDomainEvent(new CreateProcessoSendEmailDomainEvent(this));
 }