private void AlgorithmFinal(AbstractNetworkContainer containerToChange)
        {
            Int32[] final = new Int32[containerToChange.Size];
            for (int i = 0; i < final.Length; ++i)
            {
                final[i] = containerToChange.GetActiveStatus(i) ? 1 : 0;
            }

            for (int i = 0; i < containerToChange.GetActiveStatuses().Count; ++i)
            {
                if (!containerToChange.GetActiveStatus(i))
                {
                    continue;
                }
                if (Rand.NextDouble() < lambda)
                {
                    Int32 index = RandomNeighbourToActivate(containerToChange, true, i);
                    if (index != -1)
                    {
                        ++final[index];
                    }
                }
                if (Rand.NextDouble() < mu)
                {
                    --final[i];
                }
            }

            for (int i = 0; i < final.Count(); ++i)
            {
                // TODO get k as parameter
                containerToChange.SetActiveStatus(i, final[i] > 0);
            }
        }
        private void ActivateVertex(AbstractNetworkContainer containerToChange, bool allPas, int n)
        {
            Int32 RandomNode = RandomNeighbourToActivate(containerToChange, allPas, n);

            if (RandomNode == -1)
            {
                return;
            }
            containerToChange.SetActiveStatus(RandomNode, true);
        }
        private void Algorithm2(AbstractNetworkContainer containerToChange)
        {
            Int32 RandomActiveNode = GetRandomActiveNodeIndex(containerToChange);

            Debug.Assert(RandomActiveNode < containerToChange.Size);

            Debug.Assert(containerToChange.GetActiveStatus(RandomActiveNode));
            if (Rand.NextDouble() < lambda)
            {
                ActivateVertex(containerToChange, true, RandomActiveNode);
            }
            if (Rand.NextDouble() < mu)
            {
                containerToChange.SetActiveStatus(RandomActiveNode, false);
            }
        }