По порядку: 1. step static, что бы эта переменная была доступна всем объектам класса, если я правильно понимаю. 2. в method4() мы закладываем условие, оно выполняется через вызов method3(), который вызывается через method2() и так до method1(). Не совсем понятно, почему первые два метода статические, а остальные нет? Могу предположить, что это из-за того, что 3ий и 4ый - это уже методы нового объекта new Solution()? Задачу решил через подсказки Idea, теперь хотелось бы понять, что за этим всем стоит. Спасибо!