public override bool SimulateGeneration( )
        {
            ResetLists( );

            Perish1( );
            if (AllPerished)
            {
                return(false);
            }

            Perish2( );
            if (AllPerished)
            {
                return(false);
            }

            CalculateFecundity( );
            CalculateAdjustedFecundity( );
            ChooseParentsAndReproduce( );
            AddGenerationHistory( );

            return(AllGroups.All(x => x.Count != V.PopulationSize));
        }