public function renameItem($src, $dest)
{
try {
$name = basename($dest);
$dest = ltrim(dirname($src) . $name, './');
$this->storage->renameItem($src, $name);
$this->repository->updateKey($src, $dest);
} catch (\InvalidArgumentException $e) {
throw new \InvalidArgumentException(sprintf('The template object %s could not be renamed.', basename($src)), $e->getCode(), $e);
}
}