private GameObject CreateSkeletonElementsForWowBone(Transform parent, WowBone wowBone)
        {
            var boneGo = new GameObject(wowBone.GetName() ?? ("bone " + wowBone.Id));

            boneGo.transform.parent        = parent;
            boneGo.transform.localPosition = new Vector3(wowBone.LocalPosition.X, wowBone.LocalPosition.Y, wowBone.LocalPosition.Z);

            return(boneGo);
        }
        private GameObject CreateSkeletonElementsForWowBoneAndItsChildren(Transform parent, WowBone wowBone, Transform[] boneTransformsToFill)
        {
            var boneGo = CreateSkeletonElementsForWowBone(parent, wowBone);

            boneTransformsToFill[wowBone.Index] = boneGo.transform;

            foreach (var childWowBone in wowBone.ChildBones)
            {
                CreateSkeletonElementsForWowBoneAndItsChildren(boneGo.transform, childWowBone, boneTransformsToFill);
            }

            return(boneGo);
        }