if (deleteFirst) { try { deleteDocuments(new int[] { messageId }); } catch(IOException e) { mLog.debug("indexMessage ignored IOException deleting documents (index does not exist yet?)", e); } }
    synchronized public void indexMessage(Mailbox mbox, IndexItem redo, int messageId, ParsedMessage pm)    throws ServiceException {        initAnalyzer(mbox);        try {            List<Document> docList = pm.getLuceneDocuments();            if (docList != null) {                Document[] docs = new Document[docList.size()];                docs = docList.toArray(docs);                addDocument(redo, docs, messageId, pm.getReceivedDate(), false);            }        } catch (IOException e) {            throw ServiceException.FAILURE("indexMessage caught IOException", e);        }    }