public override void Deserialize(MyObjectBuilder_ComponentBase builder)
        {
            base.Deserialize(builder);
            var ob = builder as MyObjectBuilder_HierarchyComponentBase;

            if (ob != null)
            {
                m_deserializedEntities.Clear();
                foreach (var child in ob.Children)
                {
                    var childEntity = MyEntity.MyEntitiesCreateFromObjectBuilderExtCallback(child, true);
                    m_deserializedEntities.Add(childEntity);
                }

                foreach (var deserializedEntity in m_deserializedEntities)
                {
                    AddChild(deserializedEntity, true, false);
                }
            }
        }
        public override void Deserialize(MyObjectBuilder_ComponentBase builder)
        {
            base.Deserialize(builder);
            var ob = builder as MyObjectBuilder_HierarchyComponentBase;

            if (ob != null)
            {
                m_deserializedEntities.Clear();
                foreach (var child in ob.Children)
                {
                    //IMPORTANT - entities that are supposed to be saved in hierarchy should be saved ONLY in hierarchy
                    if (!MyEntityIdentifier.ExistsById(child.EntityId))
                    {
                        var childEntity = MyEntity.MyEntitiesCreateFromObjectBuilderExtCallback(child, true);
                        m_deserializedEntities.Add(childEntity);
                    }
                }

                foreach (var deserializedEntity in m_deserializedEntities)
                {
                    AddChild(deserializedEntity, true, false);
                }
            }
        }