получишь не тот результат просто из-за сортировки ну, для этого я и переопределил afterIteration. Возможно, и кривовато, но данных немного… А в целом я согласен, переделаю. Просто это-первое, что пришло в голову :)