public function generateUriForNode(ActionRequest $request, JoinPointInterface $joinPoint, NodeInterface $node)
{
// store original node path to restore it after generating the uri
$originalNodePath = $request->getMainRequest()->getArgument('node');
// generate the uri for the given node
$request->getMainRequest()->setArgument('node', $node->getContextPath());
$result = $joinPoint->getAdviceChain()->proceed($joinPoint);
// restore the original node path
$request->getMainRequest()->setArgument('node', $originalNodePath);
return $result;
}