/// <summary>
        /// executes the undo or redo to a part or its group
        /// </summary>
        /// <param name="part"></param>
        ///

        public void PlayState(SceneObjectPart part)
        {
            part.Undoing = true;

            SceneObjectGroup grp = part.ParentGroup;

            if (grp != null)
            {
                grp.doChangeObject(part, data);
            }
            part.Undoing = false;
        }