public List<HorseRaceStatus> results() {
        if (lanesStatus == null || lanesStatus.isEmpty()) {
            throw new IllegalStateException("Lanes should be configured, race should be initialized!");
        }
        List<HorseRaceStatus> lanes = new ArrayList<>();
        lanes.addAll(lanesStatus.values());
        Collections.sort(lanes, Collections.reverseOrder(new Comparator<HorseRaceStatus>() {

            @Override
            public int compare(HorseRaceStatus o1, HorseRaceStatus o2) {
                if (o1 != null && o2 != null && o1.getYards() != null && o2.getYards() != null) {
                    return o1.getYards().compareTo(o2.getYards());
                }
                return 0;
            }

        }));
        return lanes;
    }