public virtual void Play(float playHeadPosition)
        {
            if (this.IsDead)
            {
                throw new System.InvalidOperationException("Cannot play a dead Tweener.");
            }

            if (!_isPlaying)
            {
                _isPlaying      = true;
                _playHeadLength = this.GetPlayHeadLength();
                SPTween.AddReference(this);
            }

            _unwrappedPlayHeadPosition  = playHeadPosition;
            _normalizedPlayHeadPosition = playHeadPosition;
        }