@ Ann ( A . B . i ) Ġclass ĠMy Class Ċ fun Ġbox (): ĠString Ġ{ Ċ val Ġann Ġ= Ġ( My Class )? :: class . java . box ( Ann :: class . java ) Ċ if Ġ( ann Ġ== Ġnull ) Ġ{ Ċ return Ġ" fail : Ġcannot Ġfind ĠAnn Ġon ĠMy Class }" Ċ } Ċ if Ġ( ann . i Ġ!= Ġ 1 ) Ġ{ Ċ return Ġ" fail : Ġannotation Ġparameter Ġi Ġshould Ġbe Ġ 1 , Ġbut Ġwas Ġ${ ann . i }" Ċ } Ċ return Ġ" OK " Ċ } Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ Ġannotation Ġclass ĠAnn ( val Ġi : ĠInt ) Ċ class ĠA Ġ{ ĊĊ Ġclass ĠB Ġ{ Ċ Ġcompanion Ġobject Ġ{ Ċ Ġconst Ġval Ġi Ġ= Ġ 1 Ċ Ġ} Ċ Ġ} Ċ Ċ }