docs: @Override
    protected List<S> reproduction(List<S> population) {
      List<S> offspring = crossoverOperator.execute(population);
      mutationOperator.execute(offspring.get(0));
  
      return offspring;
    }