/**
  * @see	\wcf\system\user\notification\object\type\IUserNotificationObjectType::getObjectsByIDs()
  */
 public function getObjectsByIDs(array $objectIDs)
 {
     $objects = Conversation::getUserConversations($objectIDs, WCF::getUser()->userID);
     foreach ($objects as $objectID => $conversation) {
         $objects[$objectID] = new static::$decoratorClassName($conversation);
     }
     foreach ($objectIDs as $objectID) {
         // append empty objects for unknown ids
         if (!isset($objects[$objectID])) {
             // '__unknownNotificationObject' tells the notification API
             // that the object does not exist anymore so that the related
             // notification can be deleted automatically
             $objects[$objectID] = new static::$decoratorClassName(new static::$objectClassName(null, array('__unknownNotificationObject' => true, 'conversationID' => $objectID)));
         }
     }
     return $objects;
 }
 /**
  * @see	\wcf\system\attachment\IAttachmentObjectType::cacheObjects()
  */
 public function cacheObjects(array $objectIDs)
 {
     $messageList = new ConversationMessageList();
     $messageList->setObjectIDs($objectIDs);
     $messageList->readObjects();
     $conversationIDs = array();
     foreach ($messageList as $message) {
         $conversationIDs[] = $message->conversationID;
     }
     if (!empty($conversationIDs)) {
         $conversations = Conversation::getUserConversations($conversationIDs, WCF::getUser()->userID);
         foreach ($messageList as $message) {
             if (isset($conversations[$message->conversationID])) {
                 $message->setConversation($conversations[$message->conversationID]);
             }
         }
     }
     foreach ($messageList->getObjects() as $objectID => $object) {
         $this->cachedObjects[$objectID] = $object;
     }
 }