public int initialize2(byte dataSrc[], int offset)
    {
        int vertexCount = getVertexCount();
        
        vertexIndexArray = new int[vertexCount];
        for (int index = 0; index < vertexIndexArray.length; ++index)
        {
            vertexIndexArray[index] = ByteConversions.getUnsignedShortInByteArrayAtPosition(dataSrc, offset);
            offset += 2;
        }

        xDisplacementArray = new short[vertexCount];
        for (int index = 0; index < xDisplacementArray.length; ++index)
        {
            xDisplacementArray[index] = ByteConversions.getShortInByteArrayAtPosition(dataSrc, offset);
            offset += 2;
        }

        yDisplacementArray = new short[vertexCount];
        for (int index = 0; index < yDisplacementArray.length; ++index)
        {
            yDisplacementArray[index] = ByteConversions.getShortInByteArrayAtPosition(dataSrc, offset);
            offset += 2;
        }

        zDisplacementArray = new short[vertexCount];
        for (int index = 0; index < zDisplacementArray.length; ++index)
        {
            zDisplacementArray[index] = ByteConversions.getShortInByteArrayAtPosition(dataSrc, offset);
            offset += 2;
        }

        uTextureArray = new short[vertexCount];
        for (int index = 0; index < uTextureArray.length; ++index)
        {
            uTextureArray[index] = ByteConversions.getShortInByteArrayAtPosition(dataSrc, offset);
            offset += 2;
        }

        vTextureArray = new short[vertexCount];
        for (int index = 0; index < vTextureArray.length; ++index)
        {
            vTextureArray[index] = ByteConversions.getShortInByteArrayAtPosition(dataSrc, offset);
            offset += 2;
        }
        
        return offset;
    }