private void LoadNamedObjects(IElement elementSave)
{
if (elementSave == null)
{
throw new ArgumentNullException("Argument elementSave is null", "elementSave");
}
elementSave.UpdateCustomProperties();
var layers = elementSave.AllNamedObjects.Where(item=>item.IsLayer);
var entireFiles = elementSave.AllNamedObjects.Where(item => item.IsEntireFile);
var everythingElse = elementSave.AllNamedObjects.Where(item => !item.IsLayer && !item.IsEntireFile);
var ordered = layers.Concat(entireFiles).Concat(everythingElse);
PositionedObjectList<ElementRuntime> listToPopulate = mContainedElements;
PositionedObject parentElementRuntime = this;
CreateNamedObjectElementRuntime(elementSave, CreationOptions.LayerProvidedByContainer, ordered.ToList(), listToPopulate, parentElementRuntime);
LoadEmbeddedNamedObjects(elementSave, CreationOptions.LayerProvidedByContainer);
if (elementSave.InheritsFromElement())
{
var elementSaveBaseElement = ObjectFinder.Self.GetIElement(elementSave.BaseElement);
if (elementSaveBaseElement != null)
{
LoadNamedObjects(elementSaveBaseElement);
}
}
}