def add(self, *args, **kwargs):
        """Add Cookie objects by their names, or create new ones under
        specified names.

        Any unnamed arguments are interpreted as existing cookies, and
        are added under the value in their .name attribute. With keyword
        arguments, the key is interpreted as the cookie name and the
        value as the UNENCODED value stored in the cookie.
        """
        # Only the first one is accessible through the main interface,
        # others accessible through get_all (all_cookies).
        for cookie in args:
            self.all_cookies.append(cookie)
            if cookie.name in self:
                continue
            self[cookie.name] = cookie
        for key, value in kwargs.items():
            cookie = self.cookie_class(key, value)
            self.all_cookies.append(cookie)
            if key in self:
                continue
            self[key] = cookie
Add Cookie objects by their names, or create new ones under
        specified names.

        Any unnamed arguments are interpreted as existing cookies, and
        are added under the value in their .name attribute. With keyword
        arguments, the key is interpreted as the cookie name and the
        value as the UNENCODED value stored in the cookie.