public function recursivelyDeleteTag()
    {
        foreach ( $this->getChildren( 0, null, true ) as $child )
        {
            $child->recursivelyDeleteTag();
        }

        $relatedObjects = $this->getRelatedObjects();

        foreach ( $this->getSynonyms( true ) as $synonym )
        {
            $synonym->remove();
        }

        $this->remove();

        $this->registerSearchObjects($relatedObjects);
    }