public function loadObjects()
 {
     $types = array();
     foreach ($this->phids as $phid) {
         $type = phid_get_type($phid);
         $types[$type][] = $phid;
     }
     $objects = array();
     foreach ($types as $type => $phids) {
         switch ($type) {
             case PhabricatorPHIDConstants::PHID_TYPE_USER:
                 $user_dao = new PhabricatorUser();
                 $users = $user_dao->loadAllWhere('phid in (%Ls)', $phids);
                 foreach ($users as $user) {
                     $objects[$user->getPHID()] = $user;
                 }
                 break;
             case PhabricatorPHIDConstants::PHID_TYPE_CMIT:
                 $commit_dao = new PhabricatorRepositoryCommit();
                 $commits = $commit_dao->loadAllWhere('phid IN (%Ls)', $phids);
                 $commit_data = array();
                 if ($commits) {
                     $data_dao = new PhabricatorRepositoryCommitData();
                     $commit_data = $data_dao->loadAllWhere('commitID IN (%Ld)', mpull($commits, 'getID'));
                     $commit_data = mpull($commit_data, null, 'getCommitID');
                 }
                 foreach ($commits as $commit) {
                     $data = idx($commit_data, $commit->getID());
                     if ($data) {
                         $commit->attachCommitData($data);
                         $objects[$commit->getPHID()] = $commit;
                     } else {
                         // If we couldn't load the commit data, just act as though we
                         // couldn't load the object at all so we don't load half an object.
                     }
                 }
                 break;
             case PhabricatorPHIDConstants::PHID_TYPE_TASK:
                 $task_dao = new ManiphestTask();
                 $tasks = $task_dao->loadAllWhere('phid IN (%Ls)', $phids);
                 foreach ($tasks as $task) {
                     $objects[$task->getPHID()] = $task;
                 }
                 break;
             case PhabricatorPHIDConstants::PHID_TYPE_DREV:
                 $revision_dao = new DifferentialRevision();
                 $revisions = $revision_dao->loadAllWhere('phid IN (%Ls)', $phids);
                 foreach ($revisions as $revision) {
                     $objects[$revision->getPHID()] = $revision;
                 }
                 break;
         }
     }
     return $objects;
 }