public function generateURLSegment($string)
    {
        if (!$string) {
            $class = ClassTools::singleton()->getClassWithoutNamespace(get_class($this->owner));
            $string = sprintf('%s-%s', $class, $this->owner->ID);
        }
        
        $segment = URLSegmentFilter::create()->filter($string);
        
        $this->owner->extend('updateURLSegment', $segment, $string);
        
        return $segment;
    }