Идеальная задачка для пошаговой отладки. Она есть в любой приличной IDE. Покажу на примере IDEA:
1. Ставьте на строчке, которую хотите отладить, так называемую точку прерывания (breakpoint).

2. Запускайте программу в отладочном режиме.

3. Программа начнёт выполняться как обычно, но когда исполнение дойдёт до строки, помеченной breakpoint'ом, выполнение остановится и в дебаг окне отобразится текущий стек трейс, значения локальных переменных и самое важное для вашей проблемы - кнопки пошагового продолжения.
(на скриншоте я уже проехал несколько шагов вперёд)
Вот эти

Первая кнопка продвинет выполнение программы на одну строчку. Вторая сделает то же самое, но если в выполняемой строке вызывается какой-то метод, то отладка шагнёт внутрь метода и шаги продолжатся уже в теле вызываемого метода.
Выполняя отладку по шагам, вы будете точно представлять себе что происходит внутри программы и появится понимание откуда растут ноги у бага. Чем раньше вы освоите отладку в пошаговом режиме, тем проще будет в будущем.