/// <summary>
        /// Creates and immediately runs a transition on the property passed in.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="strPropertyName">Name of the string property.</param>
        /// <param name="destinationValue">The destination value.</param>
        /// <param name="transitionMethod">The transition method.</param>
        public static void run(object target, string strPropertyName, object destinationValue, ITransitionType transitionMethod)
        {
            ZeroitTransitor t = new ZeroitTransitor(transitionMethod);

            t.add(target, strPropertyName, destinationValue);
            t.run();
        }
        /// <summary>
        /// Runs the next transition in the list.
        /// </summary>
        private void runNextTransition()
        {
            if (m_listTransitions.Count == 0)
            {
                return;
            }

            // We find the next transition and run it. We also register
            // for its completed event, so that we can start the next transition
            // when this one completes...
            ZeroitTransitor nextTransition = m_listTransitions.First.Value;

            nextTransition.TransitionCompletedEvent += onTransitionCompleted;
            nextTransition.run();
        }
        /// <summary>
        /// Starts the animation.
        /// </summary>
        public void Activate()
        {
            int x       = TransitionTime;
            int flashes = No_Of_Flashes;

            switch (_Transtion)
            {
            case TransitionType.Accelaration:
                ZeroitTransitor accelerate = new ZeroitTransitor(new TransitionType_Acceleration(x));
                accelerate.add(_Target, _Position.ToString(), _destination);
                accelerate.run();
                break;

            case TransitionType.Bounce:
                ZeroitTransitor bounce = new ZeroitTransitor(new TransitionType_Bounce(x));
                bounce.add(_Target, _Position.ToString(), _destination);
                bounce.run();
                break;

            case TransitionType.CriticalDamping:
                ZeroitTransitor criticalDumping = new ZeroitTransitor(new TransitionType_CriticalDamping(x));
                criticalDumping.add(_Target, _Position.ToString(), _destination);
                criticalDumping.run();
                break;

            case TransitionType.Deceleration:
                ZeroitTransitor deceleration = new ZeroitTransitor(new TransitionType_Deceleration(x));
                deceleration.add(_Target, _Position.ToString(), _destination);
                deceleration.run();
                break;

            case TransitionType.EaseInEaseOut:
                ZeroitTransitor easeInEaseOut = new ZeroitTransitor(new TransitionType_EaseInEaseOut(x));
                easeInEaseOut.add(_Target, _Position.ToString(), _destination);
                easeInEaseOut.run();
                break;

            case TransitionType.Flash:
                ZeroitTransitor flash = new ZeroitTransitor(new TransitionType_Flash(flashes, x));
                flash.add(_Target, _Position.ToString(), _destination);
                flash.run();
                break;

            case TransitionType.Linear:
                ZeroitTransitor linear = new ZeroitTransitor(new TransitionType_Linear(x));
                linear.add(_Target, _Position.ToString(), _destination);
                linear.run();
                break;

            case TransitionType.ThrowAndCatch:
                ZeroitTransitor throwAndCatch = new ZeroitTransitor(new TransitionType_ThrowAndCatch(x));
                throwAndCatch.add(_Target, _Position.ToString(), _destination);
                throwAndCatch.run();
                break;

            case TransitionType.Zeroit:
                ZeroitTransitor zeroit = new ZeroitTransitor(new TransitionType_Zeroit(x));
                zeroit.add(_Target, _Position.ToString(), _destination);
                zeroit.run();
                break;

            default:
                break;
            }
        }