public void krzyzujOsobnikow()
        {
            Selekcja Krzyzowanie = new Selekcja(PopulacjaPotencjalnychRodzicow);

            Krzyzowanie.wyborOsobnikowDoKrzyzowania();

            List <Osobnik> przyszliRodzice = new List <Osobnik>();

            for (int i = 0; i < Krzyzowanie.osobnicyDoSparowania.Count; i++)
            {
                string  imie   = "Rodzic " + i;
                Osobnik Rodzic = new Osobnik(imie, Krzyzowanie.osobnicyDoSparowania[i]);
                Rodzic.SetIndex(i);
                przyszliRodzice.Add(Rodzic);
            }

            Populacja PopulacjaRodzicow = new Populacja();

            PopulacjaRodzicow = PopulacjaPotencjalnychRodzicow;
            PopulacjaRodzicow.SetListaOsobnikow(przyszliRodzice);

            Selekcja Parowanie = new Selekcja(PopulacjaRodzicow);

            Parowanie.SetOsobnicyDoSparowania(przyszliRodzice);

            List <Osobnik> PotomkowieKrzyzowania = new List <Osobnik>();

            for (int i = 0; i < (Krzyzowanie.osobnicyDoSparowania.Count / 2); i++)
            {
                Parowanie.stworzPare();

                // tu można wybrać interesujący nas rodzaj krzyżowania:

                //PopulacjaRodzicow.krzyzowanieJednopunktowe(Parowanie.para[0].calyLancuchBinarny, Parowanie.para[1].calyLancuchBinarny);
                //PopulacjaRodzicow.krzyzowanieDwupunktowe(Parowanie.para[0].calyLancuchBinarny, Parowanie.para[1].calyLancuchBinarny);
                //PopulacjaRodzicow.krzyzowanieWielopunktowe(Parowanie.para[0].calyLancuchBinarny, Parowanie.para[1].calyLancuchBinarny);
                PopulacjaRodzicow.krzyzowanieRownomierne(Parowanie.para[0].calyLancuchBinarny, Parowanie.para[1].calyLancuchBinarny);

                for (int j = 0; j < PopulacjaRodzicow.listaPotomkow.Count; j++)
                {
                    PotomkowieKrzyzowania.Add(PopulacjaRodzicow.listaPotomkow[j]);
                }
            }

            List <Osobnik> Potomkowie = new List <Osobnik>();

            for (int i = 0; i < PotomkowieKrzyzowania.Count; i++)
            {
                string  imie    = "Potomek " + i;
                Osobnik Potomek = new Osobnik(imie, PotomkowieKrzyzowania[i]);
                Potomek.SetIndex(i);
                Potomkowie.Add(Potomek);
            }

            Populacja PotomkowiePoKrzyzowaniu = PopulacjaRodzicow;

            PotomkowiePoKrzyzowaniu.SetListaOsobnikow(Potomkowie);

            this.PotomkowiePoKrzyzowaniu = PotomkowiePoKrzyzowaniu;
        }