Ċ package Ġcom . shop ify . sy r up . responses Ċ Ċ import Ġcom . shop ify . foundation . sy r up support .* Ċ import Ġcom . shop ify . sy r up . enums .* Ċ import Ġjava . math . BigDecimal Ċ import Ġorg . joda . time . DateTime Ċ import Ġcom . google . gson . JsonObject Ċ import Ġjavax . annotation . Generated Ċ Ċ @ Generated (" com . shop ify . sy r up ") Ċ data Ġclass ĠQuery With Reserved Word On Inline Fragment Response ( ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġspecific Ġnode Ġby ĠID . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġnode : ĠNode ? Ċ ) Ġ: ĠResponse Ġ{ ĊĠĠĠ Ġconstructor ( jsonObject : ĠJsonObject ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġnode Ġ= Ġif Ġ( jsonObject . has (" node ") Ġ&& Ġ! jsonObject . get (" node "). is Json Null ) ĠNode ( jsonObject . getAs JsonObject (" node ")) Ġelse Ġnull ĊĠĠĠ Ġ) Ċ Ċ data Ġclass ĠNode ( ĊĠĠĠ Ġval Ġrealized : ĠReal ized , ĊĠĠĠ Ġval Ġid : ĠID Ġ Ċ ): ĠResponse Ġ{ ĊĠĠĠ Ġconstructor ( jsonObject : ĠJsonObject ) Ġ: Ġthis Ġ( ĊĠĠĠĠĠĠĠ Ġrealized Ġ= Ġwhen Ġ( jsonObject . get ("__ typename "). asString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Product " Ġ-> ĠReal ized . Product ( jsonObject ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠReal ized . Other ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġid Ġ= ĠOperation Gson Builder . gson . fromJson ( jsonObject . get (" id "), ĠID :: class . java ) ĊĠĠĠ Ġ) Ċ Ġcompanion Ġobject Ġ{ ĊĠĠ Ġconst Ġval ĠtypeName Ġ= Ġ" Node " Ċ Ġ} Ċ Ġsealed Ġclass ĠReal ized Ġ{ Ċ data Ġclass ĠProduct ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠG lob ally Ġunique Ġidentifier . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġid : ĠID , ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġtitle Ġof Ġthe Ġproduct . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġ` val `: ĠString Ċ ) Ġ: ĠReal ized () Ġ{ ĊĠĠĠ Ġconstructor ( jsonObject : ĠJsonObject ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġid Ġ= ĠOperation Gson Builder . gson . fromJson ( jsonObject . get (" id "), ĠID :: class . java ), ĊĠĠĠĠĠĠĠ Ġ` val ` Ġ= ĠOperation Gson Builder . gson . fromJson ( jsonObject . get (" val "), ĠString :: class . java ) ĊĠĠĠ Ġ) Ċ } ĊĠĠĠ Ġobject ĠOther : ĠReal ized () Ċ } Ċ } Ċ } Ċ