mData.date       = mMailbox.getOperationTimestamp(); mData.modContent = mMailbox.getOperationChangeID();
mData.date = mMailbox.getOperationTimestamp(); mData.contentChanged(mMailbox);
    protected void addChild(MailItem child) throws ServiceException {        super.addChild(child);        // update inherited tags, if applicable        if (child.mData.tags != 0 || child.mData.flags != 0) {            int oldFlags = mData.flags;            long oldTags = mData.tags;            if (mInheritedTagSet == null)                mInheritedTagSet = new TagSet();            if (child.mData.tags != 0)                mInheritedTagSet.updateTags(child.mData.tags, true);            if (child.mData.flags != 0)                mInheritedTagSet.updateFlags(child.mData.flags, true);            if (mData.flags != oldFlags)  markItemModified(Change.MODIFIED_FLAGS);            if (mData.tags != oldTags)    markItemModified(Change.MODIFIED_TAGS);        }        markItemModified(Change.MODIFIED_SIZE | Change.MODIFIED_SENDERS);        mMailbox.updateSize(1);        // FIXME: this ordering is to work around the fact that when getSenderList has to        //   recalc the metadata, it uses the already-updated DB message state to do it...        mData.date       = mMailbox.getOperationTimestamp();        mData.modContent = mMailbox.getOperationChangeID();        boolean recalculated = getSenderList(false);        if (!recalculated) {            mSenderList.add((Message) child);            mData.size++;            saveMetadata();        }    }