public function pushTrail($components)
    {
        $trail = &$this->getTrail();

        if ($components instanceof QtiComponent) {
            array_push($trail, $components);
        } else {
            $i = count($components);
            // collection
            while ($i >= 1) {
                $i--;
                array_push($trail, $components[$i]);
            }
        }
    }