rem: const KMMsgBase* operator[](int idx) const { return mMsgList[idx]; }
add: virtual KMMsgBase* operator[](int idx) { return getMsgBase(idx); }
context:   const KMMsgBase* operator[](int idx) const { return mMsgList[idx]; }