package Ġb azel . messages . handlers Ċ Ċ import Ġb azel . Handler Priority Ċ import Ġb azel . bazel . events . Abort ed Ċ import Ġb azel . bazel . events . B azel Event Ċ import Ġb azel . messages . Color Ċ import Ġb azel . messages . Service Message Context Ċ import Ġb azel . messages . apply Ċ Ċ class ĠAbort ed Handler Ġ: ĠEventHandler Ġ{ ĊĠĠĠ Ġoverride Ġval Ġpriority : ĠHandler Priority ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠHandler Priority . Low ĊĊĠĠĠ Ġoverride Ġfun Ġhandle ( ctx : ĠService Message Context ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ctx . event . payload Ġis ĠB azel Event Ġ&& Ġctx . event . payload . content Ġis ĠAbort ed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Ġ= Ġctx . event . payload . content ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . hierarchy . try Abort Node ( ctx , Ġevent . id )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . description . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . onNext ( ctx . message Factory . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . build Message ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( it . description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (" Ġaborted .". apply ( Color . Error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (" Ġ${ event . reason . description }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( if Ġ( event . description . isNotBlank ()) Ġ": Ġ${ event . description }" Ġelse Ġ". ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġctx . handler Iterator . next (). handle ( ctx ) Ċ }