protected function moveVariantOrChild($aggregateOriginalPath, $aggregateDestinationPath, NodeInterface $nodeToMove = null)
{
if ($nodeToMove === null) {
return null;
}
$variantOriginalPath = $nodeToMove->getPath();
$relativePathSegment = NodePaths::getRelativePathBetween($aggregateOriginalPath, $variantOriginalPath);
$variantDestinationPath = NodePaths::addNodePathSegment($aggregateDestinationPath, $relativePathSegment);
$this->moveNodeToDestinationPath($nodeToMove, $variantDestinationPath);
return [$nodeToMove, $variantOriginalPath, $nodeToMove->getPath()];
}