Написал код, создав конструктор класса Node и добавив поле index и iterator. Программа превосходно работает и компилируется, но валидатору фиолетово решение не принимает, хотя требованиям полностью соответствует. И вот в чём вопрос, зачем верное решение(по мнению валидатора и разработчиков) создаёт индекс внутри метода? Во-первых это довольно примитивно с точки зрения кода и неиспользования конструктора внутреннего класса. Во-вторых при создании других методов я всегда могу воспользоваться полем index, которое присутствует у каждого объекта и мне не понадобится писать каждый раз код заново. Но вместо этого разработчики заставляют меня намеренно написать код по-простому снизив его функционал и эффективность заведомо, добавив индекс внутрь метода add.