int r1 = Compute.randomInt(c1.genes.length - 1); boolean done = false;
int r1 = (c1.genes.length > 2) ? Compute.randomInt(c1.genes.length - 1) : 0;
  protected void doRandomMutation(int iChromIndex) {    ChromVector c1 = (ChromVector)this.chromosomes[iChromIndex];    // I don't think we need to mutate an empty chromosome    if (c1.genes.length < 1) {        return;    }    int r1 = Compute.randomInt(c1.genes.length - 1);    boolean done = false;    if (r1%2 == 1) {      c1.genes[r1] = Compute.randomInt(((EntityState[])this.moves.elementAt(r1)).length);      return;    }    for (int i = 0; (i < c1.genes.length) && !done; i++) {      int iGene = (i + r1)%(c1.genes.length - 1);      if (((EntityState[])this.moves.elementAt(iGene)).length > 1) {        c1.genes[iGene] = Compute.randomInt(((EntityState[])this.moves.elementAt(iGene)).length);        return;      }    }  }