<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_report_details(self, report_id, id_type=None):
 """ Retrieves a report by its ID. Internal and external IDs are both allowed. :param str report_id: The ID of the incident report. :param str id_type: Indicates whether ID is internal or external. :return: The retrieved |Report| object. Example: { "id": "1a09f14b-ef8c-443f-b082-9643071c522a", "created": 1515571633505, "updated": 1515620420062, "title": "Phishing Incident", "enclaveIds": [ "ac6a0d17-7350-4410-bc57-9699521db992" ], "distributionType": "ENCLAVE", "timeBegan": 1479941278000 } """


        params = {'idType': id_type}
        resp = self._client.get("reports/%s" % report_id, params=params)
        return Report.from_dict(resp.json())