if (needToOutput(fields, Change.MODIFIED_CONFLICT)) elem.addAttribute(MailService.A_CHANGE_DATE, mi.getChangeDate() / 1000);
    private static Element encodeMessageCommon(Element parent, MailItem mi, int fields) {        Element elem = parent.addElement(MailService.E_MSG);        // DO NOT encode the item-id here, as some Invite-Messages-In-Appointments have special item-id's        if (needToOutput(fields, Change.MODIFIED_CONTENT) && mi.getSavedSequence() != 0)            elem.addAttribute(MailService.A_REVISION, mi.getSavedSequence());        if (needToOutput(fields, Change.MODIFIED_SIZE))            elem.addAttribute(MailService.A_SIZE, mi.getSize());        if (needToOutput(fields, Change.MODIFIED_DATE))            elem.addAttribute(MailService.A_DATE, mi.getDate());        if (needToOutput(fields, Change.MODIFIED_FOLDER))            elem.addAttribute(MailService.A_FOLDER, mi.getFolderId());        if (mi instanceof Message) {            Message msg = (Message)mi;            if (needToOutput(fields, Change.MODIFIED_PARENT) && (fields != Change.ALL_FIELDS || msg.getConversationId() != -1))                elem.addAttribute(MailService.A_CONV_ID, msg.getConversationId());        }        recordItemTags(elem, mi, fields);        return elem;    }