package Ġcom . got t lic her . sn ool ite . utils čĊč Ċ import Ġcom . google . gson . Json Deserialization Context č Ċ import Ġcom . google . gson . Json Deserializer č Ċ import Ġcom . google . gson . Json Element č Ċ import Ġcom . google . gson . reflect . Type Token č Ċ import Ġcom . got t lic her . sn ool ite . api . Red dit Comment č Ċ import Ġcom . got t lic her . sn ool ite . api . Red dit Data Wrapper č Ċ import Ġcom . got t lic her . sn ool ite . api . Red dit Permalink č Ċ import Ġcom . got t lic her . sn ool ite . api . Red dit Post č Ċ import Ġjava . lang . reflect . Type čĊč Ċ class ĠRed dit Listing Deserializer Ġ: ĠJson Deserializer < Red dit Permalink > Ġ{ čĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( json : ĠJson Element ?, ĠtypeOf T : ĠType ?, Ġcontext : ĠJson Deserialization Context ?): ĠRed dit Permalink Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= Ġjson ?. as JsonArray čĊĠĠĠĠĠĠĠ Ġval Ġpost Ġ= Ġcontext ?. deserialize < Red dit Data Wrapper < Red dit Post >>( arr ?. get ( 0 ), Ġobject Ġ: ĠType Token < Red dit Data Wrapper < Red dit Post >>() Ġ{} . type ) čĊĠĠĠĠĠĠĠ Ġval Ġcomments Ġ= Ġcontext ?. deserialize < Red dit Data Wrapper < Red dit Comment >>( arr ?. get ( 1 ), Ġobject Ġ: ĠType Token < Red dit Data Wrapper < Red dit Comment >>() Ġ{} . type ) čĊĠĠĠĠĠĠĠ Ġreturn ĠRed dit Permalink Ġ( post !!. data . children [ 0 ]. data , Ġcomments !!. data . children . map Ġ{ Ġit . data Ġ}) čĊĠĠĠ Ġ} č Ċ }