System.Data.DataTableCollection.BaseAdd C# (CSharp) Method

BaseAdd() private method

Does verification on the table and it's name, and points the table at the dataSet that owns this collection. An ArgumentNullException is thrown if this table is null. An ArgumentException is thrown if this table already belongs to this collection, belongs to another collection. A DuplicateNameException is thrown if this collection already has a table with the same name (case insensitive).
private BaseAdd ( DataTable table ) : void
table DataTable
return void
        private void BaseAdd(DataTable table)
        {
            if (table == null)
            {
                throw ExceptionBuilder.ArgumentNull(nameof(table));
            }
            if (table.DataSet == _dataSet)
            {
                throw ExceptionBuilder.TableAlreadyInTheDataSet();
            }
            if (table.DataSet != null)
            {
                throw ExceptionBuilder.TableAlreadyInOtherDataSet();
            }

            if (table.TableName.Length == 0)
            {
                table.TableName = AssignName();
            }
            else
            {
                if (NamesEqual(table.TableName, _dataSet.DataSetName, false, _dataSet.Locale) != 0 && !table._fNestedInDataset)
                {
                    throw ExceptionBuilder.DatasetConflictingName(_dataSet.DataSetName);
                }
                RegisterName(table.TableName, table.Namespace);
            }

            table.SetDataSet(_dataSet);

            //must run thru the document incorporating the addition of this data table
            //must make sure there is no other schema component which have the same
            // identity as this table (for example, there must not be a table with the
            // same identity as a column in this schema.
        }