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); }