public Quaternion multLocal(float qx, float qy, float qz, float qw) {
        float x1 = x * qw + y * qz - z * qy + w * qx;
        float y1 = -x * qz + y * qw + z * qx + w * qy;
        float z1 = x * qy - y * qx + z * qw + w * qz;
        w = -x * qx - y * qy - z * qz + w * qw;
        x = x1;
        y = y1;
        z = z1;
        return this;
    }
Multiplies by a quaternion with the specified components and returns the
(modified) current instance.

<p>This method is used to combine rotations. Note that quaternion
multiplication is noncommutative, so generally q * p != p * q.

@param qx the X component of the right factor
@param qy the Y component of the right factor
@param qz the Z component of the right factor
@param qw the W component of the right factor
@return the (modified) current instance (for chaining)
jme3-core/src/main/java/com/jme3/math/Quaternion.java