public final function Is(Column $Column)
{
if ($this->Name !== $Column->Name) {
return false;
} else {
if (!$this->DataType->Is($Column->DataType)) {
return false;
} else {
if (count($this->Traits) !== count($Column->Traits)) {
return false;
}
$OtherTraits = $Column->Traits;
foreach ($this->Traits as $Trait) {
foreach ($OtherTraits as $Key => $OtherTrait) {
if ($Trait->Is($OtherTrait)) {
unset($OtherTraits[$Key]);
continue 2;
}
}
return false;
}
return true;
}
}
}