/**
* Adds a table to an array in a specified dependency order.
*
* @param ITable $Table The table to add
* @param ITable[] $OrderedTables The array to add to
* @param int $DependencyMode The dependency mode to sort by
* @return void
*/
private function AddTableToOrderedTables(ITable $Table, array &$OrderedTables, $DependencyMode)
{
$Count = 0;
foreach ($OrderedTables as $OtherTable) {
if ($Table->GetDepedencyOrderBetween($DependencyMode, $OtherTable) === DependencyOrder::Before) {
array_splice($OrderedTables, $Count, 0, [$Table]);
return;
}
$Count++;
}
$OrderedTables[] = $Table;
}