This is an example of a Binary Tree implementation here. This code works ok. But can I create the root as single one-time node in add method.
Instead of
public void add(int value) {
 root = addRecursive(root, value);
}
i do
public void add(int value) {
 if (root == null) {
  root= new Node(value);  
  }
// then i add left- and right-leafs recursively
if (value < root.value) {
   root.left = addRecursive(root, value);        
} else if (value > root.value) {
  root.right= addRecursive(root, value); 
 }
}
And if I add 3 or less nodes - that's all right
bt.add(2);
bt.add(1);
bt.add(3);
but if I add more then 3 nodes I get StackOverflow Error because of recursive function
private Node addRecursive(Node current, int value) {      
 if (current == null) {     
  return new Node(value);
  }    
 if (value < current.value) {
  current.left = addRecursive(current.left, value);     
  } else if (value > current.value) {
    current.right = addRecursive(current.right, value);      
  }  
  return current;
}
 
     
    