<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def unpack_datetime(self, data):
 """ Unpack a CIM-XML string value of CIM type 'datetime' and return it as a CIMDateTime object, or None. data (unicode string):
 CIM-XML string value, or None (in which case None is returned). """


        if data is None:
            return None

        try:
            value = CIMDateTime(data)
        except ValueError as exc:
            raise CIMXMLParseError(
                _format("Invalid datetime value: {0!A} ({1})", data, exc),
                conn_id=self.conn_id)
        return value