def remove_action(self, action):
        """Removes an action from the node actions container, potentially 
        calling ``action.stop()``.

        If action was running, :meth:`.Action.stop` is called.
        Mandatory interface to remove actions in the node actions container.
        When skipping this there is the posibility to double call the 
        ``action.stop``

        Arguments:
            action (Action):
                Action to be removed.
                Must be the return value for a :meth:`do` call
        """
        assert action in self.actions
        if not action.scheduled_to_remove:
            action.scheduled_to_remove = True
            action.stop()
            action.target = None
            self.to_remove.append(action)
dataset/ETHPy150Open los-cocos/cocos/cocos/cocosnode.py/CocosNode.remove_action/original