package Ġio . pro venance . digital currency . con sort ium . stream Ċ Ċ import Ġio . grpc . stub . Stream Observer Ċ import Ġjava . util . concurrent . Count DownLatch Ċ Ċ class ĠEvent Stream Response Observer < T >( private Ġval Ġon Next Handler : Ġ( T ) Ġ-> ĠUnit ) Ġ: ĠStream Observer < T > Ġ{ ĊĠĠĠ Ġval Ġfinish Latch : ĠCount DownLatch Ġ= ĠCount DownLatch ( 1 ) ĊĠĠĠ Ġvar Ġerror : ĠThrowable ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Next ( value : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Next Handler ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Completed () Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish Latch . count Down () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( t : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror Ġ= Ġt ĊĠĠĠĠĠĠĠ Ġfinish Latch . count Down () ĊĠĠĠ Ġ} Ċ } Ċ