/* Ċ Ġ* ĠFX GL Ġ- ĠJava FX ĠGame ĠLibrary . ĠThe ĠMIT ĠLicense Ġ( MIT ). Ċ Ġ* ĠCopyright Ġ( c ) ĠAl mas B Ġ( al mas lvl @ gmail . com ). Ċ Ġ* ĠSee ĠLICENSE Ġfor Ġdetails . Ċ Ġ*/ ĊĊ Ċ package Ġcom . al mas b . fx gl . core . util Ċ Ċ import Ġcom . al mas b . fx gl . core . reflect . Reflection Utils Ċ import Ġjava . util . function . Supplier Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠAl mas ĠB aim ag amb et ov Ġ( al mas lvl @ gmail . com ) Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠCalls Ġ[ func ], Ġif Ġexception Ġoccurs Ġin Ġ[ func ] Ġthe Ġroot Ġcause Ġis Ġthrown . Ċ Ġ*/ Ċ fun Ġ< T > Ġtry Catch Root ( func : ĠSupplier < T >): ĠT Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfunc . get () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠReflection Utils . getRoot Cause ( e ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCalls Ġ[ func ], Ġif Ġexception Ġoccurs Ġin Ġ[ func ] Ġthe Ġroot Ġcause Ġis Ġthrown . Ċ Ġ*/ Ċ fun Ġ< T > Ġtry Catch Root ( func : Ġ() Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfunc . invoke () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠReflection Utils . getRoot Cause ( e ) ĊĠĠĠ Ġ} Ċ }