rem: bool KMSearchPattern::matches( Q_UINT32 serNum ) const
add: bool KMSearchRuleString::matches( const KMMessage * msg ) const
context: bool KMSearchPattern::matches( Q_UINT32 serNum ) const{  if ( isEmpty() )    return true;  bool res;  int idx = -1;  KMFolder *folder = 0;  kmkernel->msgDict()->getLocation(serNum, &folder, &idx);  if (!folder || (idx == -1) || (idx >= folder->count())) {    return false;  }  bool opened = folder->isOpened();  if ( !opened )    folder->open();  KMMsgBase *msgBase = folder->getMsgBase(idx);  if (requiresBody()) {    bool unGet = !msgBase->isMessage();    KMMessage *msg = folder->getMsg(idx);    res = matches( msg );    if (unGet)      folder->unGetMsg(idx);  } else {    res = matches( folder->getDwString(idx) );  }  if ( !opened )    folder->close();  return res;}