private function filterOutAssignedBacklogItems(AgileDashboard_Milestone_Backlog_IBacklogItemCollection $collection, PFUser $user)
 {
     $artifact_ids = $this->getBacklogItemsArtifactIds($collection);
     if (!$artifact_ids) {
         return $collection;
     }
     $collection->rewind();
     $artifact = $collection->current()->getArtifact();
     $project_id = $artifact->getTracker()->getProject()->getID();
     $plannings = $this->planning_factory->getPlannings($user, $project_id);
     $planning_milestone_tracker_ids = $this->getPlanningMilestoneTrackerIds($plannings);
     if (!$planning_milestone_tracker_ids) {
         return $collection;
     }
     $linked_item_artifacts_ids = $this->artifact_factory->getArtifactIdsLinkedToTrackers($artifact_ids, $planning_milestone_tracker_ids);
     return $this->removeLinkedItemsFromCollection($collection, $linked_item_artifacts_ids);
 }