private void Crossover(BitSet mom, BitSet dad, BitSet bro, BitSet sis)
    {
        if ((rand.nextFloat() <= CrossoverRate) || (mom == dad))
        {
            bro = (BitSet) dad.clone();
            sis = (BitSet) mom.clone();
        } 
        else
        {
            int splitPoint = rand.nextInt(8);

            for (int i = 0; i < splitPoint; ++i)
            {
                bro.set(i, dad.get(i));
                sis.set(i, mom.get(i));
            }

            for (int i = splitPoint; i < 8; ++i)
            {
                bro.set(i, mom.get(i));
                sis.set(i, dad.get(i));
            }

        }

    }