private void CloneByMCLoop <T>(Cloneable <T> c, Cloneable <T>[] a)
        {
            int count = a.Length;

            for (int i = 0; i < count;)
            {
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
                a[i++] = c.CloneByMC();
            }
        }