docs: def select_next(self):
          """
          Selects the next occurrence.
  
          :return: True in case of success, false if no occurrence could be
                   selected.
          """
          current_occurence = self._current_occurrence()
          occurrences = self.get_occurences()
          if not occurrences:
              return
          current = self._occurrences[current_occurence]
          cursor_pos = self.editor.textCursor().position()
          if cursor_pos not in range(current[0], current[1] + 1) or \
                  current_occurence == -1:
              # search first occurrence that occurs after the cursor position
              current_occurence = 0
              for i, (start, end) in enumerate(self._occurrences):
                  if end > cursor_pos:
                      current_occurence = i
                      break
          else:
              if (current_occurence == -1 or
                      current_occurence >= len(occurrences) - 1):
                  current_occurence = 0
              else:
                  current_occurence += 1
          self._set_current_occurrence(current_occurence)
          try:
              cursor = self.editor.textCursor()
              cursor.setPosition(occurrences[current_occurence][0])
              cursor.setPosition(occurrences[current_occurence][1],
                                 cursor.KeepAnchor)
              self.editor.setTextCursor(cursor)
              return True
          except IndexError:
              return False