I would love to try the following implementation, from what I've herd, it might also be tail recursive
```scala
final def getTopLevelTable(): Table = {
  this.parentTable match {
    case Some(tableParent) => tableParent.getTopLevelTable()
    case None => this
  }
}
```