package Ġns . me . ns . f ur affinity . datas ou ce . web Ċ Ċ import Ġns . me . ns . f ur affinity . datas ou ce . web . parser . J soup Parser Ċ import Ġns . me . ns . f ur affinity . datas ou ce . web . parser . J soup Parser Type Ċ import Ġokhttp 3 . ResponseBody Ċ import Ġretrofit 2 . Converter Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġjava . lang . reflect . Type Ċ import Ġkotlin . reflect . full . primary Constructor Ċ Ċ /** Ċ Ġ* ĠJ soup Converter Ċ Ġ*/ Ċ class ĠJ soup Converter Factory Ġ: ĠConverter . Factory () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġresponse Body Converter ( type : ĠType , Ġannotations : ĠArray < out ĠAnnotation > ?, Ġretrofit : ĠRet rofit ?): ĠConverter < ResponseBody , Ġ* >? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparser Type Ġ= Ġannotations ?. first Ġ{ Ġit Ġis ĠJ soup Parser Type Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= Ġ( parser Type Ġas ? ĠJ soup Parser Type )?. parser ĊĠĠĠĠĠĠĠ Ġval Ġj soup Parser Ġ= Ġparser ?. primary Constructor ?. call () Ġas ? ĠJ soup Parser Ġ?: Ġthrow ĠIllegalArgumentException ("${ J soup Parser Type :: class . java . simple Name } Ġis Ġrequired .") ĊĊĠĠĠĠĠĠĠ Ġreturn ĠJ soup Converter ( getRaw Type ( type ), Ġj soup Parser ) ĊĠĠĠ Ġ} Ċ }