<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_content_descendants(self, content_id, expand=None, callback=None):
 """ Returns a map of the descendants of a piece of Content. Content can have multiple types of descendants - for example a Page can have descendants that are also Pages, but it can also have Comments and Attachments. The {@link ContentType}(s) of the descendants returned is specified by the "expand" query parameter in the request - this parameter can include expands for multiple descendant types. If no types are included in the expand parameter, the map returned will just list the descendant types that are available to be expanded for the {@link Content} referenced by the "content_id" parameter. :param content_id (string):
 A string containing the id of the content to retrieve descendants for. :param expand (string):
 OPTIONAL: A comma separated list of properties to expand on the descendants. Default: None. :param callback: OPTIONAL: The callback to execute on the resulting data, before the method returns. Default: None (no callback, raw data returned). :return: The JSON data returned from the content/{id}/child/{type} endpoint, or the results of the callback. Will raise requests.HTTPError on bad input, potentially. """

        params = {}
        if expand:
            params["expand"] = expand
        return self._service_get_request("rest/api/content/{id}/descendant".format(id=content_id), params=params,
                                         callback=callback)