package Ġcom . rb k money . claim management api . util Ċ Ċ import Ġcom . rb k money . claim management api . controller . Authorized Operation Ċ Ċ object ĠReflection Utils Ġ{ ĊĊĠĠĠ Ġfun Ġget Operation Id (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoperation Annotation Ġ= ĠAuthor ized Operation :: class . java ĊĠĠĠĠĠĠĠ Ġval Ġoperation Method Ġ= ĠStack Walker . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. walk Ġ{ Ġframe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe . map Ġ{ Ġit . to Method () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . is Annotation Present ( operation Annotation ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. orElse Throw Ġ{ ĠRuntimeException (" Can 't Ġresolve Ġbo unc er Ġoperation ") Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġoperation Method . name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠStack Walker . Stack Frame . to Method () Ġ= ĊĠĠĠĠĠĠĠ ĠClass . forName ( this . className ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. declared Methods ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Ġ{ Ġit . name Ġ== Ġthis . methodName Ġ} !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġit . try Set Accessible () Ġ} Ċ } Ċ