package Ġedu . by u . u api . server . util Ċ Ċ import Ġedu . by u . u api . server . inputs . create Ċ import Ġedu . by u . u api . spi . U API TypeError Ċ import Ġkotlin . reflect . K Callable Ċ import Ġkotlin . reflect . K Class Ċ Ċ inline Ġfun Ġ< Type : ĠAny , Ġre ified ĠInterface : ĠAny > ĠInterface . ex trap olate GenericType ( generic Name : ĠString , Ġthing To Override : ĠK Callable < *> ): ĠK Class < Type > Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠDark Magic . find Sup ertype Arg Named ( this :: class , ĠInterface :: class , Ġgeneric Name ) ĊĠĠĠ Ġ} Ġcatch Ġ( ex : ĠDark Magic Exception ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠU API TypeError . create ( this :: class , Ġ" Unable Ġto Ġex trap olate Ġactual Ġ$ generic Name Ġtype . ĠYou Ġshould Ġexplicitly Ġoverride Ġ`$ thing To Override `. ", Ġex ) ĊĠĠĠ Ġ} Ċ } Ċ