package Ġcom . pap sign . ktor . open ap igen . parameters . parsers . builders . query . dee po bject Ċ Ċ import Ġcom . pap sign . ktor . open ap igen . parameters . parsers . builders . Builder Selector Ċ import Ġcom . pap sign . ktor . open ap igen . parameters . parsers . converters . Converter Ċ import Ġcom . pap sign . ktor . open ap igen . parameters . parsers . converters . Converter Factory Ċ import Ġjava . util .* Ċ import Ġkotlin . reflect . K Type Ċ import Ġkotlin . reflect . full . is Subclass Of Ċ import Ġkotlin . reflect . jvm . jvm Er asure Ċ Ċ class ĠOptional Deep Builder ( type : ĠK Type ) Ġ: ĠDeep Builder Ġ{ ĊĠĠĠ Ġprivate Ġval Ġconverter : ĠConverter Ġ= ĠConverter Factory . build Converter For ced ( type . arguments [ 0 ]. type !! ) ĊĊĠĠĠ Ġoverride Ġfun Ġbuild ( key : ĠString , Ġparameters : ĠMap < String , ĠList < String >> ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġparameters [ key ]?. let Ġ{ Ġit [ 0 ] Ġ} ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" Ġ-> ĠOptional . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" null " Ġ-> ĠOptional . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠOptional . of Nullable ( converter . convert ( value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠBuilder Selector < Optional Deep Builder > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcan Handle ( type : ĠK Type , Ġexplode : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtype . jvm Er asure . is Subclass Of ( Optional :: class ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate ( type : ĠK Type , Ġexplode : ĠBoolean ): ĠOptional Deep Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOptional Deep Builder ( type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }