private void RaiseOnProcessError(string id, string error)
        {
            if (cts.IsCancellationRequested)
            {
                return;
            }

            if (processes.TryGetValue(id, out var context) && context.Client != null)
            {
                taskManager
                .WithAsync(async ctx => {
                    var data = new NotificationData(ctx.Client.GetRemoteTarget <IProcessNotifications>(),
                                                    RpcProcessErrorEventArgs.Get(ctx.Process, error));
                    await data.notifications.ProcessOnError(data.ErrorArgs);
                    return(0);
                }, context, TaskAffinity.Custom)
                .Start(context.Notifications);
            }
        }