msgs[i].mData.parentId    = id; msgs[i].mData.modMetadata = changeID;
msgs[i].mData.parentId = id; msgs[i].mData.metadataChanged(mbox);
    static Conversation create(Mailbox mbox, int id, Message[] msgs) throws ServiceException {        assert(id != Mailbox.ID_AUTO_INCREMENT && msgs.length > 0);        int date = 0, unread = 0;        StringBuffer children = new StringBuffer(), tags = new StringBuffer();        SenderList sl = new SenderList();        for (int i = 0; i < msgs.length; i++) {            date = Math.max(date, msgs[i].mData.date);            unread += msgs[i].mData.unreadCount;            children.append(i == 0 ? "" : ",").append(msgs[i].mId);            tags.append(i == 0 ? "-" : ",-").append(msgs[i].mData.flags)                .append(',').append(msgs[i].mData.tags);            sl.add(msgs[i]);        }        int changeID = mbox.getOperationChangeID();        UnderlyingData data = new UnderlyingData();        data.id          = id;        data.type        = TYPE_CONVERSATION;        data.folderId    = Mailbox.ID_FOLDER_CONVERSATIONS;        data.subject     = msgs[0].getNormalizedSubject();        data.date        = date;        data.size        = msgs.length;        data.metadata    = encodeMetadata(sl);        data.modMetadata = changeID;        data.modContent  = changeID;        data.unreadCount = unread;        data.children    = children.toString();        data.inheritedTags = tags.toString();        DbMailItem.create(mbox, data);        Conversation conv = new Conversation(mbox, data);        conv.finishCreation(null);        DbMailItem.setParent(conv, msgs);        for (int i = 0; i < msgs.length; i++) {            mbox.markItemModified(msgs[i], Change.MODIFIED_PARENT);            msgs[i].mData.parentId    = id;            msgs[i].mData.modMetadata = changeID;        }        return conv;    }