public void SoftDelete(int value)
 {
     //if root is not null, invoke SoftDelete
     root?.SoftDelete(value);
 }