def _normalize_options(self, options):
        """
        Generator of 2-tuples (option-key, option-value).
        When options spec is a list, generate a 2-tuples per list item.

        :param options: dict {option: value}

        returns:
          iterator (option-key, option-value)
          - option names lower cased and prepended with
          '--' if necessary. Non-empty values cast to str
        """
        for key, value in list(options.items()):
            if '--' in key:
                normalized_key = self._normalize_arg(key)
            else:
                normalized_key = '--%s' % self._normalize_arg(key)

            if isinstance(value, (list, tuple)):
                for opt_val in value:
                    yield (normalized_key, opt_val)
            else:
                yield (normalized_key, str(value) if value else value)