<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def used_args(self):
 """Return args already used in the command line rtype: command.Arg generator """

        # get all arguments values from the command line
        values = []
        for idx, c in enumerate(self.words[1:]):
            if c.startswith('-'):
                continue
            option_str = self.words[1:][idx - 1]
            option = self.get_option(option_str)
            if option is None or not option.need_value:
                values.append((c, c == self.document.get_word_before_cursor(WORD=True)))
        logger.debug("Found args values %s" % values)
        # consume values
        for arg in self.cmd.args.values():
            if not values:
                raise StopIteration
            if arg.is_multiple:
                values = []
                yield arg
            elif type(arg.nargs) is int:
                for _ in range(arg.nargs):
                    value = values.pop(0)
                    # not the current argument
                    if value[1] is False:
                        yield arg
                    if not values:
                        raise StopIteration