public static <E extends Comparable<? super E>> boolean isBinaryTreeBst_InLine(BinaryTreeNode<E> node) {
        if (node == null) {
            return true;
        }
        boolean isLeftNodeSmall = node.left == null || node.left.data.compareTo(node.data) < 0;
        boolean isRightNodeBig = node.right == null || node.data.compareTo(node.right.data) < 0;
        if (isLeftNodeSmall && isRightNodeBig) {
            return isBinaryTreeBst_InLine(node.left) && isBinaryTreeBst_InLine(node.right);
        }
        return false;
    }