if (!this.isActive()) return;
if (!this.isActive() || numJoints==0) return;
    public void update(float time) {        if (!this.isActive()) return;        curTime+=time*this.getSpeed();        currentSkip+=time;        if (currentSkip>=skipRate){            currentSkip=0;        } else{            return;        }        PointInTime now=(PointInTime) movementInfo.get(curTimePoint);        PointInTime then=null;        if (now.time < curTime){            curTimePoint++;            if (curTimePoint==movementInfo.size()){                curTimePoint=1;                curTime=0;                now=(PointInTime) movementInfo.get(1);                then=(PointInTime) movementInfo.get(0);            } else{                then=now;                now=(PointInTime) movementInfo.get(curTimePoint);            }        } else            then=(PointInTime) movementInfo.get(curTimePoint-1);        float delta=(curTime-then.time)/(now.time-then.time);        createJointTransforms(delta);        combineWithInverse();        updateData();    }