package Ġcom . bad oo . reak t ive . dis posable Ċ Ċ fun Ġ< T Ġ: ĠDis posable > ĠT . set To ( dis posable Wrapper : ĠDis posable Wrapper ): ĠT Ġ{ ĊĠĠĠ Ġdis posable Wrapper . set ( this ) ĊĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T Ġ: ĠDis posable > ĠT . addTo ( composite Disposable : ĠComposite Disposable ): ĠT Ġ{ ĊĠĠĠ Ġcomposite Disposable . add ( this ) ĊĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ internal Ġinline Ġfun ĠDis posable . do IfNot Disposed ( dispose : ĠBoolean Ġ= Ġfalse , Ġblock : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġif Ġ(! is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dispose ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ