package Ġcom . coder . vocab . utils Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġkotlin . reflect . K Class Ċ Ċ class ĠViewModel Provider Factory < T Ġ: ĠViewModel >( ĊĠĠĠ Ġprivate Ġval Ġk Class : ĠK Class < T >, ĊĠĠĠ Ġprivate Ġval Ġcreator : Ġ() Ġ-> ĠT Ċ ) Ġ: ĠViewModel Provider . New Instance Factory () Ġ{ ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( k Class . java )) Ġreturn Ġcreator () Ġas ĠT ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Unknown ĠClass Ġname ") ĊĠĠĠ Ġ} Ċ }