private void insert(BSTNode<T> currentNode, BSTNode<T> newNode) {

        int compVal = newNode.getValue().compareTo( currentNode.getValue());
        if (compVal == 0)
            return;

        if (compVal < 0) {
            if (currentNode.getLeft() == null) {
                currentNode.setLeft(newNode);
            } else {
                insert(currentNode.getLeft(), newNode);
            }
        }

        if (compVal > 0) {
            if (currentNode.getRight() == null) {
                currentNode.setRight(newNode);
            } else {
                insert(currentNode.getRight(), newNode);
            }
        }
    }