package Ġno . nav . hel se . be hand len de en het Ċ Ċ import Ġno . nav . hel se . Ak to er Id Ċ import Ġno . nav . hel se . Correlation Id Ċ import Ġno . nav . hel se . T ema Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ class ĠBe hand len de En het Service ( ĊĠĠĠ Ġprivate Ġval Ġspark el Gateway : ĠSpark el Gateway Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger : ĠLogger Ġ= ĠLoggerFactory . getLogger (" nav . Be hand len de En het Service ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġh ent Be hand len de En het ( ĊĠĠĠĠĠĠĠ Ġs oker Ak to er Id Ġ: ĠAk to er Id , ĊĠĠĠĠĠĠĠ Ġb arn Ak to er Id : ĠAk to er Id ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġt ema : ĠT ema , ĊĠĠĠĠĠĠĠ Ġcorrelation Id : ĠCorre lation Id ĊĠĠĠ Ġ) Ġ: ĠEn het Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspark el Gateway . h ent Be hand len de En het ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh oved Ak to er Ġ= Ġs oker Ak to er Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmed Ak to er er Ġ= Ġif Ġ( bar n Ak to er Id Ġ== Ġnull ) ĠlistOf () Ġelse ĠlistOf ( bar n Ak to er Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ema Ġ= Ġt ema , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcorrelation Id Ġ= Ġcorrelation Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bar n Ak to er Id Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn (" Fe il Ġved Ġh ent ing a Ġav Ġbe hand len de Ġen het Ġfor Ġb Ã¥ de Ġs Ã¸ ker Ġog Ġb arn . ĠF ors Ã¸ ker ĠÃ¥ Ġh ente Ġkun Ġfor Ġs Ã¸ ker .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspark el Gateway . h ent Be hand len de En het ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh oved Ak to er Ġ= Ġs oker Ak to er Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmed Ak to er er Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ema Ġ= Ġt ema , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcorrelation Id Ġ= Ġcorrelation Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġex ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }