Привет. Зависит от того, что тебе нужно сделать. Если просто хочешь завернуть результат suspend функции в CompletableFuture, то тебе поможет адаптер
https://github.com/Kotlin/kotlinx.coroutines/tree/...
Но в kotlinx.coroutines есть свой примитив для этого, Defered. С ним код будет выглядеть так
result = async {
myService.getInfo()
}
Если вопрос именно про переписывание, то поделись информацией о том что ты вообще делаешь, как используешь в своем коде этот CompletableFuture.