def add_child_to_subtree( self, parent_word_id, tree ):
        ''' Searches for the tree with *parent_word_id* from the current subtree 
            (from this tree and from all of its subtrees). If the parent tree is 
            found, attaches the given *tree* as its child. If the parent tree is
            not found, the current tree is not changed.
        '''
        if (self.word_id == parent_word_id):
            self.add_child_to_self( tree )
        elif (self.children):
            for child in self.children:
                child.add_child_to_subtree(parent_word_id, tree)
Searches for the tree with *parent_word_id* from the current subtree 
            (from this tree and from all of its subtrees). If the parent tree is 
            found, attaches the given *tree* as its child. If the parent tree is
            not found, the current tree is not changed.