def refresh(
            self):
        """*Refreshs this documents's attributesd*

        **Usage:**

            To refresh the taskpaper document:

            .. code-block:: python

                doc.refresh
        """

        self.projects = self._get_object(
            regex=re.compile(
                r'((?<=\n)|(?<=^))(?P<title>(?!\[Searches\]|- )\S.*?:(?!\S)) *(?P<tagString>( *?@[^(\s]+(\([^)]*\))?)+)?(?P<content>(\n(( |\t)+\S.*)|\n( |\t)*|\n)+)', re.UNICODE),
            objectType="project",
            content=None
        )

        self.tasks = self._get_object(
            regex=re.compile(
                r'((?<=\n)|(?<=^))(?P<title>- ((?! @).)*)( *(?P<tagString>( *?@[^(\s]+(\([^)]*\))?)+))?(?P<content>(\n(( |\t)+\S.*)|\n( |\t)*)*)', re.UNICODE),
            objectType="task",
            content=None
        )

        self.notes = self._get_object(
            regex=re.compile(
                r'((?<=\n)|(?<=^))(?P<title>\S(?<!-)((?!(: +@|: *\n|: *$)).)*)\s*?(\n|$)(?P<tagString>&&&)?(?P<content>&&&)?', re.UNICODE),
            objectType="note",
            content=None
        )

        self.search = self._get_object(
            regex=re.compile(
                r'((?<=\n)|(?<=^))(?P<title>\[Searches\]:) *(?P<tagString>( *?@\S*(\(.*?\))?)+)?(?P<content>(\n( |\t).*)*)', re.UNICODE),
            objectType="searchBlock",
            content=None
        )

        return None