Факторизуйте глубоко вложенный код в отдельный метод
Если при написании кода внутри цикла формируется глубокая вложенность условных операторов, имеет смысл переместить обработку вложенности в отдельный метод, чтобы разгрузить код и внести ясность.
Чем выше уровень вложенности, тем хуже ваш код. Создается визуальная перегрузка, которая усложняет понимание кода и исправление багов.