Я думаю, что ваш код ошибочен. Вы создаете leftNode и rightNode, но не используете их. Кроме того, как parentNode.left, так и parentNode.right создаются с одинаковыми параметрами. Это правильно?
Я понятия не имею, для чего предназначен ваш IndexWrapper и что делает readValue ().
И самая большая проблема: это никогда не прекращается. Вы не проверяете (например), если x <0. Поэтому вы вызываете это с x = 1. Затем вы дважды выполняете рекурсию, вызывая его с x = 0, затем x = -1, и повторяете до бесконечности. </p>
Итак, я бы сказал, что это Order (навсегда).
Могу я предложить вам на самом деле заставьте ваш код работать, протестируйте его, а ЗАТЕМ определите сложность.