def attach_skeleton(self, skeleton, name=DEFAULT_SKELETON_NAME):
        LOG.debug("%s:skeleton added", name)
        if name in self.asset['skeletons']:
            existing_skeleton = self.asset['skeletons'][name]
            assert skeleton['numNodes'] == existing_skeleton['numNodes']
            assert skeleton['names'] == existing_skeleton['names']
            assert skeleton['parents'] == existing_skeleton['parents']
            for i in range(skeleton['numNodes']):
                if vmath.m43is_identity(existing_skeleton['invBoneLTMs'][i]):
                    existing_skeleton['invBoneLTMs'][i] = skeleton['invBoneLTMs'][i]
                    existing_skeleton['bindPoses'][i] = skeleton['bindPoses'][i]
        else:
            self.asset['skeletons'][name] = skeleton
Short-hand for the following idiom::
dataset/ETHPy150Open turbulenz/turbulenz_tools/turbulenz_tools/tools/asset2json.py/JsonAsset.attach_skeleton--crossover with--dataset/ETHPy150Open couchbase/couchbase-python-client/txcouchbase/bucket.py/RawBucket.connect