package Ġcom . hop ovo . mobile . android . prep exam . domain . exercise . inter actor Ċ Ċ import Ġcom . hop ovo . mobile . android . prep exam . domain . executor . Post Execution Thread Ċ import Ġcom . hop ovo . mobile . android . prep exam . domain . executor . Thread Executor Ċ import Ġcom . hop ovo . mobile . android . prep exam . domain . exercise . repository . Exercise Repository Ċ import Ġcom . hop ovo . mobile . android . prep exam . domain . inter actor . Observable UseCase Ċ import Ġcom . hop ovo . mobile . android . prep exam . model . exercise . Exercise Ċ import Ġio . reactivex . Observable Ċ Ċ open Ġclass ĠGet Exercise ById ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġexercise Repository : ĠExercise Repository , ĊĠĠĠĠĠĠĠ Ġthread Executor : ĠThread Executor , ĊĠĠĠĠĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread Ċ ) Ġ: ĠObservable UseCase < Exercise , ĠInt >( thread Executor , Ġpost Execution Thread ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild UseCase Observable ( params : ĠInt ?): ĠObservable < Exercise > Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( params ) ĊĠĠĠĠĠĠĠ Ġreturn Ġexercise Repository . get Exercise ById ( params ) ĊĠĠĠ Ġ} Ċ }