/** @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */
 public int compare(Object o1, Object o2) {
   Chromosome c1 = (Chromosome) o1;
   Chromosome c2 = (Chromosome) o2;
   int fitness1 = (isSpeciated ? c1.getSpeciatedFitnessValue() : c1.getFitnessValue());
   int fitness2 = (isSpeciated ? c2.getSpeciatedFitnessValue() : c2.getFitnessValue());
   return isAscending ? fitness1 - fitness2 : fitness2 - fitness1;
 }