crossedOver.clear();
	public void perfromIteration(EC ec) {		// Cacluate the fitness		for (Iterator<? extends Entity> i = ec.getTopology().iterator(); i.hasNext(); ) {		//for (Individual indiv : ec.getTopology()) {			Entity entity = i.next();			//indiv.setFitness(problem.getFitness(indiv.get(), true));			entity.setFitness(ec.getOptimisationProblem().getFitness(entity.get(), true));		}				// Perform crossover		List<Entity> crossedOver = this.crossoverStrategy.crossover(ec.getTopology());						// Perform mutation on offspring		this.mutationStrategy.mutate(crossedOver);						// Perform new population selection		Topology<Entity> topology = (Topology<Entity>) ec.getTopology();		for (Iterator<Entity> i = crossedOver.iterator(); i.hasNext(); ) {			Entity entity = i.next();			topology.add(entity);		}				Collections.sort(ec.getTopology(), new AscendingFitnessComparator());		for (ListIterator<? extends Entity> i = ec.getTopology().listIterator(ec.getPopulationSize()); i.hasNext(); ) {			i.next();			i.remove();		}				crossedOver = null;	}