private function leftRotateTree(TreeNode &$root)
 {
     // Pivot = Root.Left
     $pivot = $root->getChild(1);
     // Root.Right = Pivot.Left
     $children = $root->getChildren();
     $children[1] = $pivot->getChild(0);
     // Pivot, rotation side
     $root->setChildren($children);
     // Pivot.Left = Root
     $children = $pivot->getChildren();
     $children[0] = $root;
     $pivot->setChildren($children);
     // Root = Pivot
     $root = $pivot;
 }