/**
  * @return AgileDashboard_Milestone_Backlog_DescendantItemsCollection
  */
 private function getItemsForUser(PFUser $user, DataAccessResult $result, $found_rows)
 {
     $items = new AgileDashboard_Milestone_Backlog_DescendantItemsCollection();
     foreach ($result as $row) {
         $item = $this->artifact_factory->getInstanceFromRow($row);
         if ($item->userCanView($user)) {
             $items->push($item);
         }
     }
     $items->setTotalAvaialableSize($found_rows);
     return $items;
 }