/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ @ file : Suppress (" unused ") Ċ package Ġkotlinx . parcel ize Ċ Ċ import Ġandroid . os . Parcelable Ċ Ċ /** Ċ Ġ* ĠRead Ġthe ĠCRE ATOR Ġfield Ġof Ġthe Ġgiven Ġ[ Parcelable ] Ġclass . ĠCalls Ġto Ġthis Ġfunction Ġwith Ċ Ġ* Ġa Ġconcrete Ġclass Ġwill Ġbe Ġoptimized Ġto Ġa Ġdirect Ġfield Ġaccess . Ċ Ġ*/ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠParcel able > Ġparcel able Creator (): ĠParcel able . Creator < T > Ġ= ĊĠĠĠ ĠT :: class . java . getDeclared Field (" CRE ATOR "). get ( null ) Ġas ? ĠParcel able . Creator < T > ĊĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException (" Could Ġnot Ġaccess ĠCRE ATOR Ġfield Ġin Ġclass Ġ${ T :: class . simple Name }") Ċ