/**
  * @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;
     }
 }
 /**
  * @see	\wcf\system\moderation\queue\IModerationQueueHandler::populate()
  */
 public function populate(array $queues)
 {
     $objectIDs = array();
     foreach ($queues as $object) {
         $objectIDs[] = $object->objectID;
     }
     // fetch messages
     $messageList = new ConversationMessageList();
     $messageList->setObjectIDs($objectIDs);
     $messageList->readObjects();
     $messages = $messageList->getObjects();
     // set orphaned queues
     foreach ($queues as $queue) {
         if (!isset($messages[$queue->objectID])) {
             $queue->setIsOrphaned();
         }
     }
     // fetch conversations
     $conversationIDs = array();
     foreach ($messages as $message) {
         $conversationIDs[] = $message->conversationID;
     }
     if (!empty($conversationIDs)) {
         $conversationList = new ConversationList();
         $conversationList->setObjectIDs($conversationIDs);
         $conversationList->readObjects();
         $conversations = $conversationList->getObjects();
         foreach ($queues as $object) {
             if (isset($messages[$object->objectID])) {
                 $message = $messages[$object->objectID];
                 $message->setConversation($conversations[$message->conversationID]);
                 $object->setAffectedObject($message);
             }
         }
     }
 }