public IEnumerable <object> GetChildObjects(ISaveContext context)
        {
            List <object> collectedObjects = new List <object>();

            ContainerSaveData.GetChildObjects(context, this._typeDefinition, this._containerType, this.Target, collectedObjects);
            return((IEnumerable <object>)collectedObjects);
        }
        private void CollectContainerObjects(ContainerType containerType, object parent)
        {
            if (this._idsOfChildContainers.ContainsKey(parent))
            {
                return;
            }
            int count = this._childContainers.Count;

            this._childContainers.Add(parent);
            this._idsOfChildContainers.Add(parent, count);
            ContainerSaveData.GetChildObjects((ISaveContext)this, this.DefinitionContext.GetContainerDefinition(parent.GetType()), containerType, parent, this._temporaryCollectedObjects);
            for (int index = 0; index < this._temporaryCollectedObjects.Count; ++index)
            {
                object temporaryCollectedObject = this._temporaryCollectedObjects[index];
                if (temporaryCollectedObject != null)
                {
                    this._objectsToIterate.Enqueue(temporaryCollectedObject);
                }
            }
            this._temporaryCollectedObjects.Clear();
        }