public Integer find(BinaryNode<Integer> root, int position) {
    validateInputData(root, position);
    List<BinaryNode<Integer>> orderedElements = getOrderedElements(root);
    validatePosition(position, orderedElements);
    return orderedElements.get(position - 1).getData();
  }
This algorithm has a complexity order in space and time terms of O(N) where N is the number of
elements in the tree. It's based on the property of BST. If you go through a BST using a
in order tour you'll get an ordered list of elements.
src/main/java/com/github/pedrovgs/problem44/FindMinNumberAtPosition.java