/**
* Returns the inverse equivalent of a given relationship
*
* @param Relationship $relationship
* @return Relationship
*/
public function invertRelationship(Relationship $relationship)
{
if (!$relationship->getInversedBy()) {
throw new InvalidArgumentException('Relationship "' . $relationship->getName() . '" is not inversed');
}
$metadata = $this->getMapper()->getEntityMetadata($relationship->getTarget());
$inverse = $metadata->getRelationshipByName($relationship->getInversedBy());
if (!$inverse) {
throw new InvalidEntityException('Relationship "' . $relationship->getName() . '" inverse side "' . $relationship->getInversedBy() . '" cannot be not found');
}
return $inverse;
}