public static boolean connect(int indexReader, String protocol)
            throws CardException, IOException {

        boolean sucess = true;

        List<CardTerminal> terminals = getTerminalsList();

        terminal = (CardTerminal) terminals.get(indexReader);

        Logger.log("Leitora: " + terminal.toString() + "\n");

        if (terminal != null) {
            if (terminal.isCardPresent()) {

                card = terminal.connect(protocol);

                if (card != null) {
                   
                    Logger.log("ATR: "
                            + Hex.printBytesHexa(card.getATR().getBytes())
                            + "\n");


                    Logger.log("Protocolo: " + card.getProtocol() + "\n");
                    Logger.log("Basic channel: " + card.getBasicChannel());
                    Logger.log("Conectado com sucesso.");


                } else {
                    Logger.log("Falha ao conectar ");
                    sucess = false;
                }
            } else {
                JOptionPane.showMessageDialog(null, "Cartão nao presente na leitora '" + terminal.getName()
                        + "'", "Cartão não conectado", JOptionPane.WARNING_MESSAGE);
                Logger.log("Cartão não presente ");

                sucess = false;
            }
        }

        return sucess;
    }