Как я понял, что переопределение run как раз запускает возможность задать ему условие и соответственно вывода. А если не переопределен, то он по умолчанию пустой и создаёт одну нить и обрывается. Хотя в решении от JavaRush переопределения нет, я сделал с (валидатор принял). Как все-таки правильно?