System.Data.XmlDataTreeWriter.CreateToplevelTables C# (CSharp) Method

CreateToplevelTables() private method

private CreateToplevelTables ( ) : System.Data.DataTable[]
return System.Data.DataTable[]
        private DataTable[] CreateToplevelTables()
        {
            ArrayList topTables = new ArrayList();
            for (int i = 0; i < _dTables.Count; i++)
            {
                DataTable table = (DataTable)_dTables[i];
                if (table.ParentRelations.Count == 0)
                    topTables.Add(table);
                else
                {
                    bool fNestedButNotSelfNested = false;
                    for (int j = 0; j < table.ParentRelations.Count; j++)
                    {
                        if (table.ParentRelations[j].Nested)
                        {
                            if (table.ParentRelations[j].ParentTable == table)
                            {
                                fNestedButNotSelfNested = false;
                                break;
                            }
                            fNestedButNotSelfNested = true;
                        }
                    }
                    if (!fNestedButNotSelfNested)
                        topTables.Add(table);
                }
            }
            if (topTables.Count == 0)
            {
                return Array.Empty<DataTable>();
            }

            var temp = new DataTable[topTables.Count];
            topTables.CopyTo(temp, 0);
            return temp;
        }