The above two if-statements have a relatively high chance of selecting one canvas for both `firstSelected` and `secondSelected`; only if `rand1` and `rand2` really differ, it is likely that they will differ. You could change this by doing this:
```
if(firstSelected == null && accumulatedReproductionChance[i] >= rand1) {
    firstSelected = sortedPopulation[i];
    continue; // Or whatever the C# equivalent is.. I want to skip the rest of the loop, to make sure secondSelected != firstSelected
}
if ( secondSelected == null && accumulatedReproductionChance[i] >= rand2)
    secondSelected = sortedPopulation[i];
```