/// <summary>
/// Does verification on the table and it's name, and clears the table's dataSet pointer.
/// An ArgumentNullException is thrown if this table is null. An ArgumentException is thrown
/// if this table doesn't belong to this collection or if this table is part of a relationship.
/// </summary>
private void BaseRemove(DataTable table)
{
if (CanRemove(table, true))
{
UnregisterName(table.TableName);
table.SetDataSet(null);
}
_list.Remove(table);
_dataSet.OnRemovedTable(table);
}