code: def deserialize(cls, target_class, obj):
          
  
          share_detail = target_class.__new__(target_class)
          share_detail.__dict__ = {
              cls._ATTRIBUTE_PAYMENT: converter.deserialize(
                  object_.ShareDetailPayment,
                  cls._get_field_or_none(cls._FIELD_DRAFT_PAYMENT, obj)
              ),
              cls._ATTRIBUTE_READ_ONLY: converter.deserialize(
                  object_.ShareDetailReadOnly,
                  cls._get_field_or_none(cls._FIELD_READ_ONLY, obj)
              ),
              cls._ATTRIBUTE_DRAFT_PAYMENT: converter.deserialize(
                  object_.ShareDetailDraftPayment,
                  cls._get_field_or_none(cls._FIELD_DRAFT_PAYMENT, obj)
              ),
          }
  
          return share_detail
docs: :type target_class: object_.ShareDetail|type
          :type obj: dict
  
          :rtype: object_.ShareDetail