public function removeTagToImpression(PeopleTag $tag, ImpressionTO $impressionTO) { try { $tagsPerImpression = $this->provider->retrieveAllTagPerImpressionTO($impressionTO->getId()); foreach ($tagsPerImpression as $currentTagPerImpression) { if ($tag->getId() == $currentTagPerImpression->getTagId()) { $tagPerImpressionToRemove = $currentTagPerImpression; break; } } $this->provider->deleteTagPerImpressionTO($tagPerImpressionToRemove); } catch (EyePeopleException $e) { throw new EyePeopleException('Unable to remove the tag ' . $tag->getName()); } }