private void DeleteLeaf(TreeNode parent, TreeNode currentNode, int valueToDelete) { if (parent == null) { currentNode = null; } else { bool doesRightNeedToBeDeleted = parent.DoesRightChildHaveValueOf(valueToDelete); if (doesRightNeedToBeDeleted) { parent.RightChild = null; } else { parent.LeftChild = null; } } }