private void DoVisualisation(object sender, DoWorkEventArgs args)
        {
            while (true)
            {
                TurnsNumber++;
                Thread.Sleep(30);
                if (_backgroundWorker.CancellationPending == false)
                {
                    var newPixels = _geneticManager.NextGeneration();

                    lock (PixelCollection)
                    {
                        _backgroundWorker.ReportProgress(0, newPixels);
                    }

                    if (newPixels.AreAllPixelsEqual())
                    {
                        MessageBox.Show(Resources.VisualisationEnded);
                        Pause();
                    }
                }
                else
                {
                    args.Cancel = true;
                    return;
                }
            }
        }