CmisSync.Lib.Storage.Database.MetaDataStorage.GetSubTree C# (CSharp) Method

GetSubTree() private method

private GetSubTree ( List nodes, MappedObject parent ) : IObjectTree
nodes List
parent CmisSync.Lib.Storage.Database.Entities.MappedObject
return IObjectTree
        private IObjectTree<IMappedObject> GetSubTree(List<MappedObject> nodes, MappedObject parent) {
            var children = nodes.FindAll(o => o.ParentId == parent.RemoteObjectId);
            nodes.RemoveAll(o => o.ParentId == parent.RemoteObjectId);
            IList<IObjectTree<IMappedObject>> childNodes = new List<IObjectTree<IMappedObject>>();
            foreach (var child in children) {
                childNodes.Add(this.GetSubTree(nodes, child));
            }

            IObjectTree<IMappedObject> tree = new ObjectTree<IMappedObject> {
                Item = parent,
                Children = childNodes
            };
            return tree;
        }