Binary Search algorithm in Java, recursive end invariant version.