@Override
 public void caseASenaoSeSenaoSe(ASenaoSeSenaoSe node) {
   inASenaoSeSenaoSe(node);
   if (node.getSenao() != null) {
     node.getSenao().apply(this);
   }
   {
     List<PComandos> copy = new ArrayList<PComandos>(node.getComandos());
     for (PComandos e : copy) {
       e.apply(this);
     }
   }
   outASenaoSeSenaoSe(node);
 }
 @Override
 public void caseAAlgoritmo(AAlgoritmo node) {
   inAAlgoritmo(node);
   {
     List<PDeclaracao> copy = new ArrayList<PDeclaracao>(node.getDeclaracao());
     for (PDeclaracao e : copy) {
       e.apply(this);
     }
   }
   {
     List<PComandos> copy = new ArrayList<PComandos>(node.getComandos());
     for (PComandos e : copy) {
       e.apply(this);
     }
   }
   outAAlgoritmo(node);
 }
 @Override
 public void caseACasoPCaso(ACasoPCaso node) {
   inACasoPCaso(node);
   if (node.getCaso() != null) {
     node.getCaso().apply(this);
   }
   if (node.getValor() != null) {
     node.getValor().apply(this);
   }
   if (node.getDoisPontos() != null) {
     node.getDoisPontos().apply(this);
   }
   {
     List<PComandos> copy = new ArrayList<PComandos>(node.getComandos());
     for (PComandos e : copy) {
       e.apply(this);
     }
   }
   outACasoPCaso(node);
 }