public void mutate(List<AggregationIndividual> population){
  List<AggregationIndividual> children=new ArrayList<AggregationIndividual>();
  Iterator<AggregationIndividual> i=population.iterator();
  while (i.hasNext()) {
    AggregationIndividual individual=i.next();
    int[] parent=individual.getIndividual();
    int[] child=new int[parent.length];
    for (int j=0; j < child.length; j++) {
      child[j]=parent[j];
    }
    mutate(child);
    if (isValid(child)) {
      children.add(new AggregationIndividual(child));
    }
  }
  population.addAll(children);
}

public void mutate ( List < AggregationIndividual > population ) { List < AggregationIndividual > children = new ArrayList < AggregationIndividual > ( ) ; Iterator < AggregationIndividual > i = population . iterator ( ) ; while ( i . hasNext ( ) ) { AggregationIndividual individual = i . next ( ) ; int [ ] parent = individual . getIndividual ( ) ; int [ ] child = new int [ parent . length ] ; for ( int j = 0 ; j < child . length ; j ++ ) { child [ j ] = parent [ j ] ; } mutate ( child ) ; if ( isValid ( child ) ) { children . add ( new AggregationIndividual ( child ) ) ; } } population . addAll ( children ) ; }
invokes the method mutate ( int [ ] ) for each individual . the parents are kept .
