/**
* Handles redirects to shortcut targets in live rendering.
*
* @param NodeInterface $node
* @return void
* @throws NodeNotFoundException|UnresolvableShortcutException
*/
protected function handleShortcutNode(NodeInterface $node)
{
$resolvedNode = $this->nodeShortcutResolver->resolveShortcutTarget($node);
if ($resolvedNode === null) {
throw new NodeNotFoundException(sprintf('The shortcut node target of node "%s" could not be resolved', $node->getPath()), 1430218730);
} elseif (is_string($resolvedNode)) {
$this->redirectToUri($resolvedNode);
} elseif ($resolvedNode instanceof NodeInterface) {
$this->redirect('show', null, null, ['node' => $resolvedNode]);
} else {
throw new UnresolvableShortcutException(sprintf('The shortcut node target of node "%s" resolves to an unsupported type "%s"', $node->getPath(), is_object($resolvedNode) ? get_class($resolvedNode) : gettype($resolvedNode)), 1430218738);
}
}