public boolean checkRecursive(BinaryNode<Integer> root) {
    validateInput(root);
    return checkRecursiveInner(root);
  }
Recursive implementation to solve this problem. This algorithm has O(N) as complexity order in
time terms and O(1) in space terms.
src/main/java/com/github/pedrovgs/problem18/IsBST.java