package Ġcom . le vi aran . own pet app . utils Ċ Ċ open Ġclass ĠSingle Event < out ĠT >( private Ġval Ġvalue Ġ: ĠT ) Ġ{ ĊĠĠĠ Ġvar Ġis Handled Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġset Ġ// ĠAllow Ġexternal Ġread Ġbut Ġnot Ġwrite ĊĊĠĠĠ Ġfun ĠgetContent IfNot Handled () Ġ: ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( is Handled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Handled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpeek Content () Ġ: ĠT Ġ= Ġvalue Ċ Ċ }