public function setTile(SwatTile $tile)
    {
        // if we're overwriting an existing tile, remove it's parent link
        if ($this->tile !== null) {
            $this->tile->parent = null;
        }

        $this->tile = $tile;
        $tile->parent = $this;
    }