ciao a tutti e buona pasqua!

attraverso JavaMail correi connettermi alla mia casella Gmail, tramite imap, e leggere le varie email non lette.
avrei fatto questo metodo:
codice:
    public void getEmailsNotRead(String protocol, String host, String port, String userName, String password) throws MessagingException {
        Properties properties = getServerProperties(protocol, host, port);
        Session session = Session.getDefaultInstance(properties);
        Store store = session.getStore(protocol);
        store.connect(userName, password);
        Folder inbox = store.getFolder("INBOX");
        inbox.open(Folder.READ_WRITE);
        int count = inbox.getMessageCount();
        Message[] messages = inbox.getMessages(1, count);
        for (Message message : messages) {
            if (!message.isSet(Flags.Flag.SEEN)) { // PROBLEMA
                System.out.println("Read");
                Address[] fromAddresses = message.getFrom();
                System.out.println("...................");
                System.out.println("\t From: " + fromAddresses[0].toString());
                System.out.println("\t To: " + parseAddresses(message.getRecipients(RecipientType.TO)));
                System.out.println("\t CC: " + parseAddresses(message.getRecipients(RecipientType.CC)));
                System.out.println("\t Subject: " + message.getSubject());
                System.out.println("\t Sent Date:" + message.getSentDate().toString());
            }
        }
        inbox.close(false);
        store.close();
    }
il problema è nella riga commentata.
in pratica se levo il punto escalamativo, facendo in modo di visualizzare le email lette, funziona tutto.
nel senso che mi appaiono tutte le email già lette.
se invece faccio il contrario, non appare nulla.
rimane in attesa, ma non viene mai visualizzato nulla, come se non vedesse le email non lette.
ma vi assicuto che ce ne sono, e di preciso ce ne sono 17.
qualche idea??