@Test
    public void testIssue1004() {
        Node sinbad = (Node)new DesktopAssetManager(true).loadModel("Models/Sinbad/SinbadOldAnim.j3o");

        Geometry geometry = (Geometry) sinbad.getChild(0);
        Mesh mesh = geometry.getMesh();
        VertexBuffer.Type bufferType = VertexBuffer.Type.BoneIndex;
        VertexBuffer vertexBuffer = mesh.getBuffer(bufferType);

        // Remove the existing bone-index buffer.
        mesh.getBufferList().remove(vertexBuffer);
        mesh.getBuffers().remove(bufferType.ordinal());

        // Copy the 8-bit bone indices to 16-bit indices.
        ByteBuffer oldBuffer = (ByteBuffer) vertexBuffer.getDataReadOnly();
        int numComponents = oldBuffer.limit();
        oldBuffer.rewind();
        short[] shortArray = new short[numComponents];
        for (int index = 0; oldBuffer.hasRemaining(); ++index) {
            shortArray[index] = oldBuffer.get();
        }

        // Add the 16-bit bone indices to the mesh.
        mesh.setBuffer(bufferType, 4, shortArray);

        sinbad.addControl(new KinematicRagdollControl(0.5f)); // should not throw
    }
Test case for JME issue #1004: RagdollUtils can't handle 16-bit bone indices.
jme3-jbullet/src/test/java/com/jme3/jbullet/test/PreventBulletIssueRegressions.java