code: public <TContinuationResult> Task<TContinuationResult> continueWithTask(
        Continuation<TResult, Task<TContinuationResult>> continuation) {
      return continueWithTask(continuation, IMMEDIATE_EXECUTOR, null);
    }
docs: Adds an asynchronous continuation to this task, returning a new task that completes after the
  task returned by the continuation has completed.