public function prependRoutingInformation(array $routing)
    {
        $count = count($routing);
        if (0 == $count) {
            return;
        }

        // Strip all the empty parts from the last to the first.
        $count--;
        while (!$routing[$count]) {
            unset($routing[$count]);
            $count--;
        }

        // Make sure the last part is always empty.
        $routing[] = '';

        // Prepend the routing and add a routing delimiter (empty part).
        $this->routing = array_merge($routing, $this->routing);
    }