private void createBoneLink(String boneName, VectorSet vertexLocations) {
        Joint bone = findBone(boneName);
        Transform boneToMesh = bone.getModelTransform();
        Transform meshToBone = boneToMesh.invert();
        //logger3.log(Level.INFO, "meshToBone = {0}", meshToBone);
        /*
         * Create the CollisionShape and locate the center of mass.
         */
        CollisionShape shape;
        Vector3f center;
        if (vertexLocations == null || vertexLocations.numVectors() == 0) {
            throw new IllegalStateException("no vertex for " + boneName);
        } else {
            center = vertexLocations.mean(null);
            center.subtractLocal(bone.getModelTransform().getTranslation());
            shape = createShape(meshToBone, center, vertexLocations);
        }

        meshToBone.getTranslation().zero();
        float mass = super.mass(boneName);
        Vector3f offset = meshToBone.transformVector(center, null);
        BoneLink link = new BoneLink(this, bone, shape, mass, offset);
        boneLinks.put(boneName, link);
    }
Create a jointless BoneLink for the named bone, and add it to the
boneLinks map.

@param boneName the name of the bone to be linked (not null)
@param vertexLocations the set of vertex locations (not null, not empty)
jme3-jbullet/src/main/java/com/jme3/bullet/animation/DacLinks.java