public function createAction($mode, $identifier, $workspaceName = 'live', array $dimensions = array(), array $sourceDimensions = array())
{
if ($mode === 'adoptFromAnotherDimension' || $mode === 'adoptFromAnotherDimensionAndCopyContent') {
$originalContentContext = $this->createContentContext($workspaceName, $sourceDimensions);
$node = $originalContentContext->getNodeByIdentifier($identifier);
if ($node === null) {
$this->throwStatus(404, 'Original node was not found.');
}
$contentContext = $this->createContentContext($workspaceName, $dimensions);
$this->adoptNodeAndParents($node, $contentContext, $mode === 'adoptFromAnotherDimensionAndCopyContent');
$this->redirect('show', null, null, array('identifier' => $identifier, 'workspaceName' => $workspaceName, 'dimensions' => $dimensions));
} else {
$this->throwStatus(400, sprintf('The create mode "%s" is not supported.', $mode));
}
}