Hello! I have implemented a new betterThan operator into a CustomFitness class, which is an extended class of MultiObjectiveFitness. I wrote pop.subpop.0.species.fitness = ec.multiobjective.CustomFitness inside my experiment param file. Once the execution starts, after the first generation fails, returning the next error: Exception in thread "main" java.lang.ClassCastException: ec.multiobjective.CustomFitness cannot be cast to ec.multiobjective.nsga2.NSGA2MultiObjectiveFitness at ec.multiobjective.nsga2.NSGA2Breeder.assignFrontRanks(NSGA2Breeder.java:185) at ec.multiobjective.nsga2.NSGA2Breeder.buildArchive(NSGA2Breeder.java:121) at ec.multiobjective.nsga2.NSGA2Breeder.loadElites(NSGA2Breeder.java:82) at ec.simple.SimpleBreeder.breedPopulation(SimpleBreeder.java:225) at ec.multiobjective.nsga2.NSGA2Breeder.breedPopulation(NSGA2Breeder.java:113) at ec.simple.SimpleEvolutionState.evolve(SimpleEvolutionState.java:104) at ec.EvolutionState.run(EvolutionState.java:482) at ec.Evolve.main(Evolve.java:771) I forgot something? Is it the right way to extend the betterThan operator? Thanks in advance, Adrián.