@Override
    public int compareTo(Individual o) {
        if (o == null) {
            throw new NullPointerException("o can't be null");
        }

        if (this == o) {
            return 0;
        }
        if (this.getEvaluation() > o.getEvaluation()) {
            return 1;
        } else if (this.getEvaluation() < o.getEvaluation()) {
            return -1;
        }
        return 0;
    }