public function createUrlAlias(Location $location, $path, $languageCode, $forwarding = false, $alwaysAvailable = false)
{
$path = $this->cleanUrl($path);
$this->repository->beginTransaction();
try {
$spiUrlAlias = $this->urlAliasHandler->createCustomUrlAlias($location->id, $path, $forwarding, $languageCode, $alwaysAvailable);
$this->repository->commit();
} catch (ForbiddenException $e) {
$this->repository->rollback();
throw new InvalidArgumentException('$path', $e->getMessage(), $e);
} catch (Exception $e) {
$this->repository->rollback();
throw $e;
}
return $this->buildUrlAliasDomainObject($spiUrlAlias, $path);
}