final int y = e.getY();
final int row = y / MultiverseViewer.getConfig().getPaneHeight();
final int col = x / MultiverseViewer.getConfig().getPaneWidth();
if (this.copySource != null) {
final UniverseRunner target = this.grid[row][col]
.getUniverseRunner();
target.getPhysics().copyData(
this.copySource.getPhysics().getData());
target.randomize(this.rnd);
} else if (this.crossoverParent1 != null
&& this.crossoverParent2 == null) {
this.crossoverParent2 = this.grid[row][col].getUniverseRunner();
} else {
final UniverseRunner target = this.grid[row][col]
.getUniverseRunner();
target.crossover(this.rnd, this.crossoverParent1, this.crossoverParent2);
target.randomize(this.rnd);
}
}
}