private void PackageClient_OnPullProjectPackage(string id, string version, RemoteTaskCompletionSource <string> taskHandle) { Task.Run(async() => { if (!projectPackages.TryGet(id, version, out var packageFilename)) { throw new ApplicationException($"Project Package '{id}.{version}' not found!"); } return(await Task.FromResult(packageFilename)); }).ContinueWith(taskHandle.FromTask); }