package Ġcom . task tr ader . domain . use cases . base Ċ Ċ class ĠResult < out ĠResult >( ĊĠĠĠ Ġprivate Ġval Ġresult : ĠResult ?, ĊĠĠĠ Ġprivate Ġval Ġthrowable : ĠThrowable ? Ċ ) Ġ{ ĊĊĠĠĠ Ġval Ġis Successful Ġ= Ġresult Ġ!= Ġnull Ġ&& Ġthrowable Ġ== Ġnull ĊĠĠĠ Ġval Ġis Failure Ġ= Ġthrowable Ġ!= Ġnull ĊĊĠĠĠ Ġfun Ġget Result (): ĠResult Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresult Ġ?: Ġthrow ĠRuntimeException (" Calling Ġget Result Ġon Ġun successful Ġresult ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Exception (): ĠThrowable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthrowable Ġ?: Ġthrow ĠRuntimeException (" Calling Ġget Exception Ġon Ġsuccessful Ġresult ") ĊĠĠĠ Ġ} Ċ }