interceptContinuation
Returns continuation that wraps the original continuation, thus intercepting all resumptions. This function is invoked by coroutines framework when needed and the resulting continuations are cached internally per each instance of the original continuation.
This function may simply return original continuation if it does not want to intercept this particular continuation.
When the original continuation completes, coroutine framework invokes releaseInterceptedContinuation
with the resulting continuation if it was intercepted, that is if interceptContinuation
had previously
returned a different continuation instance.