public void setAnim(String name, float blendTime) {
        if (name == null)
            throw new IllegalArgumentException("name cannot be null");

        if (blendTime < 0f)
            throw new IllegalArgumentException("blendTime cannot be less than zero");

        Animation anim = control.animationMap.get(name);
        if (anim == null)
            throw new IllegalArgumentException("Cannot find animation named: '" + name + "'");

        control.notifyAnimChange(this, name);

        if (animation != null && blendTime > 0f) {
            this.blendTime = blendTime;
            // activate blending
            blendTime = Math.min(blendTime, anim.getLength() / speed);
            blendFrom = animation;
            timeBlendFrom = time;
            speedBlendFrom = speed;
            loopModeBlendFrom = loopMode;
            blendAmount = 0f;
            blendRate = 1f / blendTime;
        } else {
            blendFrom = null;
        }

        animation = anim;
        time = 0;
        speed = 1f;
        loopMode = LoopMode.Loop;
        notified = false;
    }
Set the current animation that is played by this AnimChannel.
<p>
This resets the time to zero, and optionally blends the animation
over <code>blendTime</code> seconds with the currently playing animation.
Notice that this method will reset the control's speed to 1.0.

@param name The name of the animation to play
@param blendTime The blend time over which to blend the new animation
with the old one. If zero, then no blending will occur and the new
animation will be applied instantly.
jme3-core/src/main/java/com/jme3/animation/AnimChannel.java