package Ġcom . d ick ow . ch ort lin . test . application . shared . builder Ċ Ċ import Ġcom . d ick ow . ch ort lin . checker . trace . Invocation Ċ import Ġcom . d ick ow . ch ort lin . checker . trace . Return Ċ import Ġcom . d ick ow . ch ort lin . checker . trace . Trace Factory Ċ import Ġcom . d ick ow . ch ort lin . inter ception . sending . dto . Trace DTO Factory Ċ import Ġcom . d ick ow . ch ort lin . inter ception . observation . Observation Ċ Ċ object ĠTest Observable Builder Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtrace Builder Ġ= ĠTrace Factory () ĊĠĠĠ Ġprivate Ġval Ġtrace DTO Factory Ġ= ĠTrace DTO Factory () ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild Invocation ( clazz : ĠClass <* >, ĠmethodName : ĠString , Ġarguments : ĠArray < out ĠAny ?> ): ĠInvocation Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġclazz . methods . single Ġ{ Ġm Ġ-> Ġm . name Ġ== ĠmethodName Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrace Builder . build Invocation ( trace DTO Factory . build Invocation DTO ( Observation ( clazz , Ġmethod ), Ġarguments )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild Return ( clazz : ĠClass <* >, ĠmethodName : ĠString , Ġarguments : ĠArray < out ĠAny ? >, ĠreturnValue : ĠAny ?): ĠReturn Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġclazz . methods . single Ġ{ Ġm Ġ-> Ġm . name Ġ== ĠmethodName Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrace Builder . build Return ( trace DTO Factory . build Return DTO ( Observation ( clazz , Ġmethod ), Ġarguments , ĠreturnValue )) ĊĠĠĠ Ġ} Ċ }