Почему если public void run() { System.out.println(this); if (createdThreadCount < count) { new GenerateThread(); } } дублируется первая строка и выводится упорядочено: 1 created 1 created 2 created ... А если так public void run() { // System.out.println(this); if (createdThreadCount < count) { System.out.println(new GenerateThread()); } } не дублируется первая строка но выводится неупорядочено и вообще валидатор не принимает. Валидатор выдает ошибку "Конструктор класса GenerateThread должен увеличивать значение createdThreadCount и передавать его в виде строки в конструктор суперкласса."