def run(self, edit, forward = False):
        view = self.view

        # Add the current selections into the transition lists
        current_sels = [s for s in view.sel()]
        trans_sels = view.get_regions("transition_sels")
        trans_sels.extend(current_sels)

        # Lazy step: Store the disorganized region and retrieve a sorted and
        # merged region list
        view.add_regions("transition_sels", trans_sels)
        trans_sels = view.get_regions("transition_sels")

        # Get the previous or next selection and mark
        if forward:
            index, sel = find_next_sel(trans_sels, current_sels[-1])
        else:
            index, sel = find_prev_sel(trans_sels, current_sels[0])

        # Activate the selection
        view.sel().clear()
        view.sel().add(sel)
        view.show(sel)
        if sel.a == sel.b:
            view.add_regions("mark", [sublime.Region(sel.a, sel.a)],
                             "mark", "", sublime.HIDDEN | sublime.PERSISTENT)

        # Remove it from transition list
        del(trans_sels[index])
        set_transition_sels(view, trans_sels)
dataset/ETHPy150Open MaokaiLin/PowerCursors/power_cursors.py/PowerCursorSelectCommand.run/operator `!=` -> `==`