private void SetXmlImports()
        {
            var imports = partialNode.SelectSingleNode("imports");

            if (imports != null && imports.HasChildNodes)
            {
                childLoaders = new List <PartialXmlLoad>();

                var nodeList = imports.SelectNodes("import");
                var len      = nodeList.Count;

                for (int i = 0; i < len; i++)
                {
                    var importNod   = new XmlImportNode(nodeList[i]);
                    var childLoader = new PartialXmlLoad(rootPath + "/" + importNod.name + xmlExtension, this.deep + 1, this.rootPath, this.partialNode, importNod);
                    childLoaders.Add(childLoader);

                    childLoader.Load();
                }

                OnChildsReady();
                _isReady = true;
            }
            else
            {
                _isReady          = true;
                waitingChildsLoad = false;
            }
        }
        public PartialXmlLoad(string path, int deep, string _rootPath = "", XmlNode parentNode = null, XmlImportNode _importNode = null)
        {
            fileInfo         = new FileInfo(path);
            this._name       = fileInfo.Name;
            this.importModel = _importNode;
            if (deep == 0)
            {
                this.rootPath = fileInfo.DirectoryName;
            }
            else
            {
                this.rootPath = _rootPath;
            }
            _isReady        = false;
            this.parentNode = parentNode;
            this.path       = path;

            this.deep = deep;


            loader            = new LocalXmlLoader();
            waitingChildsLoad = false;
        }