protected function _getPseudoPageUrl()
    {
        $data = $this;
        $filename = '';
        $hadStaticPage = false;
        do {

            if ($hadStaticPage && isset($data->generator) &&
                !$data->isPseudoPage && $data->generator->getAddUrlPart()
            ) {
                $filename = $data->id.($filename ? ':' : '').$filename;
            }
            if ($data->isPseudoPage || $data->componentId == 'root') {
                if ($data->filename) $filename = $data->filename.($filename ? '/' : '').$filename;
                if ($data->componentId != 'root' && $data->generator->getGeneratorFlag('static')) {
                    $hadStaticPage = true;
                } else {
                    $hadStaticPage = false;
                }
            }
        } while ($data = $data->parent);

        $baseUrl = Kwf_Setup::getBaseUrl(); //TODO baseUrl vs. root filename: both do the same
        return ($baseUrl ? $baseUrl : '').'/'.$filename;
    }