package Ġio . kot est . mpp Ċ Ċ object ĠUser StackTrace Converter Ġ{ ĊĊĠ Ġfun ĠgetUser Stack trace ( kot est Stack traces : ĠArray < StackTrace Element >): ĠArray < StackTrace Element > Ġ{ ĊĠĠĠ Ġreturn Ġk ot est Stack traces . drop Until User Class () ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠD rops Ġstack traces Ġuntil Ġit Ġfinds Ġa ĠK ot est ĠStack trace Ġthen Ġdrops Ġstack traces Ġuntil Ġit Ġfinds Ġa Ġnon - K ot est Ġstack trace ĊĠĠ Ġ* ĊĠĠ Ġ* ĠSometimes , Ġit 's Ġpossible Ġfor Ġthe ĠStack trace Ġto Ġcontain Ġclasses Ġthat Ġare Ġnot Ġfrom ĠK ot est , ĊĠĠ Ġ* Ġsuch Ġas Ġclasses Ġfrom Ġsun . reflect Ġor Ġanything Ġfrom ĠJava . ĠAfter Ġclearing Ġthese Ġclasses , Ġwe 'll Ġbe Ġat ĠK ot est ĊĠĠ Ġ* Ġstack trace , Ġwhich Ġwill Ġcontain Ġexceptions Ġfrom Ġthe ĠRun ners Ġand Ġsome Ġother Ġclasses ĊĠĠ Ġ* ĠAfter Ġeverything Ġfrom ĠK ot est Ġwe 'll Ġfinally Ġbe Ġat Ġuser Ġclasses , Ġat Ġwhich Ġpoint Ġthe Ġstack trace Ġis Ġclean Ġand Ġis ĊĠĠ Ġ* Ġreturned . ĊĠĠ Ġ*/ ĊĠ Ġprivate Ġfun ĠArray < StackTrace Element >. drop Until User Class (): ĠArray < StackTrace Element > Ġ{ ĊĠĠĠ Ġreturn Ġto List (). drop Until First K ot est Class (). drop Until First Non K ot est Class (). to Typed Array () ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠList < StackTrace Element >. drop Until First K ot est Class (): ĠList < StackTrace Element > Ġ{ ĊĠĠĠ Ġreturn Ġdrop While Ġ{ ĊĠĠĠĠĠ Ġit . isNot K ot est Class () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠList < StackTrace Element >. drop Until First Non K ot est Class (): ĠList < StackTrace Element > Ġ{ ĊĠĠĠ Ġreturn Ġdrop While Ġ{ ĊĠĠĠĠĠ Ġit . is K ot est Class () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠStack Trace Element . is K ot est Class (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn ĠclassName . startsWith (" io . kot est ") ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠStack Trace Element . isNot K ot est Class (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġ! is K ot est Class () ĊĠ Ġ} Ċ Ċ } Ċ