package Ġio . customer . base . data Ċ Ċ import Ġio . customer . base . error . Error Detail Ċ Ċ sealed Ġclass ĠResult < T > Ġ{ ĊĠĠĠ Ġopen Ġfun Ġget (): ĠT ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġget OrThrow (): ĠT Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠSuccess Ġ-> Ġget () ĊĠĠĠĠĠĠĠ Ġis ĠError Result Ġ-> Ġthrow Ġerror . cause ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġis Success : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis Ġis ĠSuccess ĊĊĠĠĠ Ġval Ġis Error : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis Ġis ĠError Result Ċ } Ċ Ċ data Ġclass ĠSuccess < T >( val Ġdata : ĠT ) Ġ: ĠResult < T >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget (): ĠT Ġ= Ġdata Ċ } Ċ Ċ data Ġclass ĠError Result < T >( val Ġerror : ĠError Detail ) Ġ: ĠResult < T >() Ċ