public List<Organism> GAstep_crossover() throws Exception {
        // TODO
        /* crossover entre les species !!! */

        /* crossover */
        List<Organism> childList = new ArrayList<Organism>();
        for (int i = 0; i < this.getSpeciesNumber(); i++) {
            if (species.get(i).getNumberOrganisms() > 1) {
                childList.addAll(species.get(i).crossover(getGenerationNumber()));
            }
        }
        //this.countFitnessAllPop();

        /**
         * speciate
         */
        if (!childList.isEmpty()) {
            speciate(childList);
        }
        return childList;
    }