// ĠOriginal Ġbug : ĠK T - 1 3 1 0 8 Ċ Ċ data Ġclass ĠProduct ( val Ġid : ĠInt ) Ċ data Ġclass ĠHas Product ( val Ġproduct : ĠProduct ) Ċ Ċ object ĠProduct Repository Ġ{ ĊĠĠĠ Ġfun Ġget ( id : ĠInt ) Ġ= ĠProduct ( id ) Ġ Ġ// ĠAssume Ġit Ã¢ Â Ģ Â Ļ s Ġfetching Ġproduct Ġfrom Ġsome Ġdata - base Ċ } Ċ Ċ fun Ġprocess ( product : ĠProduct ): ĠUnit Ġ{ ĊĠĠĠ ĠTODO (" something Ġwith ĠÃ ¢ Â Ģ Â ľ product Ã¢ Â Ģ Â Ŀ Ġinstance ") Ċ } Ċ Ċ fun Ġprocess ( productId As Int : ĠInt ): ĠUnit Ġ{ ĊĠĠĠ Ġprocess ( Product Repository . get ( productId As Int )) Ċ } Ċ Ċ fun Ġprocess ( productId AsString : ĠString ): ĠUnit Ġ{ ĊĠĠĠ Ġprocess ( Product Repository . get ( productId AsString . toInt ())) Ċ } Ċ Ċ fun Ġprocess ( product Container : ĠHas Product ): ĠUnit Ġ{ ĊĠĠĠ Ġprocess ( product Container . product ) Ċ } Ċ