package Ġdev . kom u . ah wen . utils Ċ Ċ import Ġjava . lang . reflect . Proxy Ċ Ċ inline Ġfun Ġ< re ified ĠT > Ġunimplemented (): ĠT Ġ= ĊĠĠĠ ĠProxy . new Proxy Instance ( T :: class . java . class Loader , ĠarrayOf ( T :: class . java )) Ġ{ Ġobj , Ġmethod , Ġparams Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( method . decl aring Class Ġ== ĠObject :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( method . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" equals " Ġ-> Ġobj Ġ=== Ġparams [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" hashCode " Ġ-> ĠSystem . identity HashCode ( obj ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" toString " Ġ-> Ġ" Proxy /${ T :: class . java . name } # ${ System . identity HashCode ( obj )}" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġerror (" unknown Ġobject Ġmethod : Ġ${ method . name }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException ("${ method . name } Ġis Ġunimplemented ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġas ĠT Ċ