                 if (alignedPosition == position)
                     return null;
 
+                isSnapping = true;
                 nowTime = addKeyframe(motionPath, nowTime + THROW_SETTLE_TIME, alignedPosition, new Power(0, THROW_CURVE_EXPONENT));
             }
         }


        var effectTime:int = calculateThrowEffectTime(startingVelocityX, startingVelocityY);
        var throwEffectMotionPaths:Vector.<MotionPath> = new Vector.<MotionPath>();
        
        var horizontalTime:Number = 0;
        var horizontalFinalPosition:Number = 0;

     */
    mx_internal var finalPositionFilterFunction:Function;
    
    /**
     *  @private
     *  Set to true when the effect is only being used to snap an element into position
     *  and the initial velocity is zero.
     */
    mx_internal var isSnapping:Boolean = false;

    /**
     *  @private
