<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __highlight_occurence(self, file, occurence):
 """ Highlights given file occurence. :param file: File containing the occurence. :type file: unicode :param occurence: Occurence to highlight. :type occurence: Occurence or SearchOccurenceNode """


        if not self.__container.get_editor(file):
            cache_data = self.__files_cache.get_content(file)
            if cache_data:
                document = cache_data.document or self.__get_document(cache_data.content)
                self.__container.load_document(document, file)
                self.__uncache(file)
            else:
                self.__container.load_file(file)
        else:
            self.__container.set_current_editor(file)

        if not occurence:
            return

        cursor = self.__container.get_current_editor().textCursor()
        cursor.setPosition(occurence.position, QTextCursor.MoveAnchor)
        cursor.setPosition(occurence.position + occurence.length, QTextCursor.KeepAnchor)
        self.__container.get_current_editor().setTextCursor(cursor)