@Override
    public void caseARepitaComando(ARepitaComando node)
    {
        inARepitaComando(node);
        if(node.getFim() != null)
        {
            node.getFim().apply(this);
        }
        if(node.getFechaParentese() != null)
        {
            node.getFechaParentese().apply(this);
        }
        if(node.getExpLogica() != null)
        {
            node.getExpLogica().apply(this);
        }
        if(node.getAbreParentese() != null)
        {
            node.getAbreParentese().apply(this);
        }
        if(node.getAte() != null)
        {
            node.getAte().apply(this);
        }
        if(node.getMeio() != null)
        {
            node.getMeio().apply(this);
        }
        if(node.getComando() != null)
        {
            node.getComando().apply(this);
        }
        {
            List<PComandoSeq> copy = new ArrayList<PComandoSeq>(node.getComandoSeq());
            Collections.reverse(copy);
            for(PComandoSeq e : copy)
            {
                e.apply(this);
            }
        }
        if(node.getRepita() != null)
        {
            node.getRepita().apply(this);
        }
        outARepitaComando(node);
    }