package Ġio . gitlab . art urb os ch . gro v lin . ast Ċ Ċ /** Ċ Ġ* Ġ@ author ĠArt ur ĠB os ch Ċ Ġ*/ Ċ data Ġclass ĠReference < N Ġ: ĠNamed >( val Ġname : ĠString , Ġvar Ġsource : ĠN ? Ġ= Ġnull ) Ġ{ Ċ ĉ override Ġfun ĠtoString (): ĠString Ġ{ Ċĉ ĉ if Ġ( source Ġ== Ġnull ) Ġ{ Ċĉĉ ĉ return Ġ" Ref ($ name )[ Un solved ]" Ċĉ ĉ } Ġelse Ġ{ Ċĉĉ ĉ return Ġ" Ref ($ name )[ S olved ]" Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ fun Ġtry To Resolve ( candidates : ĠList < N >): ĠBoolean Ġ{ Ċĉ ĉ val Ġres Ġ= Ġcandidates . find Ġ{ Ġit . name Ġ== Ġthis . name Ġ} Ċĉ ĉ source Ġ= Ġres Ċĉ ĉ return Ġres Ġ!= Ġnull Ċ ĉ } ĊĊ ĉ fun Ġis Resolved () Ġ= Ġsource Ġ!= Ġnull Ċ } Ċ