def update_collection_by_id(cls, collection_id, collection, **kwargs):
        """Update Collection

        Update attributes of Collection
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_collection_by_id(collection_id, collection, async=True)
        >>> result = thread.get()

        :param async bool
        :param str collection_id: ID of collection to update. (required)
        :param Collection collection: Attributes of collection to update. (required)
        :return: Collection
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return cls._update_collection_by_id_with_http_info(collection_id, collection, **kwargs)
        else:
            (data) = cls._update_collection_by_id_with_http_info(collection_id, collection, **kwargs)
            return data