def load_document(self, document, file):
        """
        Loads given document into a new **Script_Editor_tabWidget** Widget tab Model editor.

        :param document: Document to load.
        :type document: QTextDocument
        :param file: Document file.
        :type file: unicode
        :return: Method success.
        :rtype: bool
        """

        if not foundations.common.path_exists(file):
            raise foundations.exceptions.FileExistsError("{0} | '{1}' file doesn't exists!".format(
                self.__class__.__name__, file))

        if self.get_editor(file):
            LOGGER.info("{0} | '{1}' is already loaded!".format(self.__class__.__name__, file))
            return True

        self.close_first_file()
        language = self.__languages_model.get_language(self.__default_language)
        editor = Editor(parent=self, language=language)
        if not editor.new_file():
            return False

        LOGGER.info("{0} | Loading '{1}' file document!".format(self.__class__.__name__, file))
        language = self.__languages_model.get_file_language(
            file) or self.__languages_model.get_language(self.__default_language)
        if not editor.load_document(document, file, language):
            return False

        if self.__model.set_authoring_nodes(editor):
            self.__store_recent_file(file)
            self.file_loaded.emit(file)
            return True