/** * @param BinaryNode $node * @param BinaryNode $subtree */ public function insertNode(BinaryNode $node, BinaryNode &$subtree = null) { if ($subtree === null) { $subtree = $node; } else { if ($node->getKeySum() >= $subtree->getKeySum()) { $this->insertNode($node, $subtree->rightNode); } else { $this->insertNode($node, $subtree->leftNode); } } }