'Adds a new option named `dest` to the parser.  The destination
is not inferred (unlike with optparse) and needs to be explicitly
provided.  Action can be any of ``store``, ``store_const``,
``append``, ``appnd_const`` or ``count``.
The `obj` can be used to identify the option in the order list
that is returned from the parser.'

def add_option(self, opts, dest, action=None, nargs=1, const=None, obj=None):

    if (obj is None):
        obj = dest
    opts = [normalize_opt(opt, self.ctx) for opt in opts]
    option = Option(opts, dest, action=action, nargs=nargs, const=const, obj=obj)
    self._opt_prefixes.update(option.prefixes)
    for opt in option._short_opts:
        self._short_opt[opt] = option
    for opt in option._long_opts:
        self._long_opt[opt] = option
