private void startLodFaceList(String submeshIndex, String numFaces) {
        int index = Integer.parseInt(submeshIndex);
        mesh = geoms.get(index).getMesh();
        int faceCount = Integer.parseInt(numFaces);

        VertexBuffer originalIndexBuffer = mesh.getBuffer(Type.Index);
        vb = new VertexBuffer(VertexBuffer.Type.Index);
        if (originalIndexBuffer.getFormat() == Format.UnsignedInt) {
            // LOD buffer should also be integer
            ib = BufferUtils.createIntBuffer(faceCount * 3);
            sb = null;
            vb.setupData(Usage.Static, 3, Format.UnsignedInt, ib);
        } else {
            sb = BufferUtils.createShortBuffer(faceCount * 3);
            ib = null;
            vb.setupData(Usage.Static, 3, Format.UnsignedShort, sb);
        }

        List<VertexBuffer> levels = lodLevels.get(index);
        if (levels == null) {
            // Create the LOD levels list
            levels = new ArrayList<VertexBuffer>();

            // Add the first LOD level (always the original index buffer)
            levels.add(originalIndexBuffer);
            lodLevels.put(index, levels);
        }
        levels.add(vb);
    }
Normalizes weights if needed and finds largest amount of weights used for
all vertices in the buffer.
jme3-plugins/src/ogre/java/com/jme3/scene/plugins/ogre/MeshLoader.java