'Resolve conflicting command line arguments.
:param str arg: Name of the command line argument.
:param str param: Original request parameter name.
:param str path: Request parameter namespace.
:param dict options: The kwargs to be used to instantiate CliCommandArgument.
:param list dependencies: A list of complete paths to other parameters that are required
if this parameter is set.
:param list conflicting: A list of the argument names that have already conflicted.'

def _resolve_conflict(self, arg, param, path, options, typestr, dependencies, conflicting):

    if self.parser.existing(arg):
        conflicting.append(arg)
        existing = self.parser.dequeue_argument(arg)
        existing['name'] = _build_prefix(arg, existing['root'], existing['path'])
        existing['options']['options_list'] = [arg_name(existing['name'])]
        self.parser.queue_argument(**existing)
        new = _build_prefix(arg, param, path)
        options['options_list'] = [arg_name(new)]
        self._resolve_conflict(new, param, path, options, typestr, dependencies, conflicting)
    elif ((arg in conflicting) or (arg in QUALIFIED_PROPERTIES)):
        new = _build_prefix(arg, param, path)
        if ((new in conflicting) or ((new in QUALIFIED_PROPERTIES) and ('.' not in path))):
            self.parser.queue_argument(arg, path, param, options, typestr, dependencies)
        else:
            options['options_list'] = [arg_name(new)]
            self._resolve_conflict(new, param, path, options, typestr, dependencies, conflicting)
    else:
        self.parser.queue_argument(arg, path, param, options, typestr, dependencies)
