awaitResponse (): Response < T > { return suspendCoroutine { continuation -> enqueue ( object : Callback < T > { override fun onResponse ( call : Call < T >, response : Response < T >) { continuation . suspend fun user ( id : Long ): User { return suspendCoroutine { continuation -> continuation . super User > continuation = new ContinuationImpl ( real ); // code inside lambda that calls into 'continuation' return continuation .