def _update_document_tree(
            self,
            oldContent=None,
            newContent=None):
        """*update document tree*

        **Key Arguments:**
            - ``oldContent`` -- the old content to be replaced in parent object (user sould not need to give this)
            - ``newContent`` -- the replacement text for the parent object  (user sould not need to give this)

        **Return:**
            - ``doc`` -- the updated document object
        """
        self.refresh
        if self.parent:
            self.refresh
            indentOldContent = ""
            indentNewContent = ""
            for l in oldContent.split("\n"):
                indentOldContent += "\t" + l + "\n"
            uoldContent = indentOldContent[:-1]
            for l in newContent.split("\n"):
                indentNewContent += "\t" + l + "\n"
            unewContent = indentNewContent[:-1]

            thisOldContent = self.to_string(indentLevel=1)
            thisNewContent = thisOldContent.replace(uoldContent, unewContent)

            self.content = self.to_string(
                indentLevel=0, title=False).replace(oldContent, newContent)

            self.content = self.to_string(
                indentLevel=0, title=False).replace(oldContent, newContent)

            # REPLACE THE NEW CONTENT OF THIS PROJECT IN THE PARENT OBJECT'S
            # CONTENT
            doc = self.parent._update_document_tree(
                oldContent=thisOldContent,
                newContent=thisNewContent
            )

        else:
            self.content = self.content.replace(oldContent, newContent)
            doc = self

        self.refresh
        return doc