private boolean cerrarRepitaCuando(String pLineaCodigo, int pPosicion, int pNumeroLinea) {
        // Verifica que se hay ingresado si despues de la palabra #cuando habia un espacio o '[' o tab
        if (pLineaCodigo.charAt(pPosicion) == ' ' || pLineaCodigo.charAt(pPosicion) == '[' || pLineaCodigo.charAt(pPosicion) == '\t') {
            // Verifica que ya se haya abierto programa
            if (!pilaPalabrasReservadas.estaVacia()) {
                // Verifica que sea "repita" la etiqueta que este en el top de la pila
                if (pilaPalabrasReservadas.getValorEnTop().equals("repita")) {
                    // Cambio los tab por espacios
                    pLineaCodigo = pLineaCodigo.replaceAll("\t", " ");

                    // Busca el corchete de apertura de la condicion
                    int indiceApertura = this.getAperturaCorchete(pLineaCodigo, pPosicion);
                    // Verifica que haya un caracter de apertura
                    if (indiceApertura == -1) {
                        salidaRevision += "ERROR DE SINTAXIS en la linea " + pNumeroLinea + ""
                                + ". No se ha encontrado el caracter '[' despues del '#cuando'\n";
                        return false;
                    }

                    // Se busca el caracter de cierre ']'            
                    int posCierre = this.getCierreCorchete(pLineaCodigo, pPosicion);
                    // Verifica que se haya encontrado el cierre ']'
                    if (posCierre == -1) {
                        salidaRevision += "ERROR DE SINTAXIS en la linea " + pNumeroLinea + ""
                                + ". El último caracter de la línea, no es el cierre de la condicion #cuando ']'\n";
                        return false;
                    }

                    // Obtiene la parte de la condicion del cuando (+1 xq es en la posicion siguiente del '[')
                    String condicion = pLineaCodigo.substring(indiceApertura + 1, posCierre);
                    // Envia a evaluar la condicion
                    String evaluacionCondicion = this.resolverEcuacion(condicion, pNumeroLinea);
                    if (evaluacionCondicion == null) {
                        return false;
                    } else if (!evaluacionCondicion.equals("binario")) {
                        salidaRevision += "ERROR DE SINTAXIS en la linea " + pNumeroLinea + ""
                                + ". La expresión a evaluar no es binaria\n";
                        return false;
                    } else {
                        // Remueve el 'repita' de la pila de operadores
                        pilaPalabrasReservadas.pop();
                        return true;
                    }
                } else {
                    salidaRevision += "ERROR DE SINTAXIS en la linea " + pNumeroLinea
                            + ". No es posible utilizar la palabra reservada '#cuando' sin antes haber"
                            + " abierto un 'repita'. Asegurese de cerrar '" + pilaPalabrasReservadas.getValorEnTop()
                            + "' en caso que este se encuentre dentro del 'repita'\n";
                    return false;
                }
            } else {
                salidaRevision += "ERROR DE SINTAXIS en la linea " + pNumeroLinea + ""
                        + ". No es posible cerrar un ciclo con '#cuando' sin antes crear un 'repita'\n";
                return false;
            }

        } else {
            salidaRevision += "ERROR DE SINTAXIS en la linea " + pNumeroLinea + ""
                    + ". Después de la palabra '#cuando', solo puede ir '[', espacio(s) o tab\n";
            return false;
        }
    }