private void ProcessDeletedActivity(FunctionActivity activity)
{
if (activity == null) return;
var host = _surface.Children.OfType<ActivityHost>().FirstOrDefault(h => h.Id == activity.Id);
if (host == null) return;
host.IncomingLinks.ToList().ForEach(incoming => RemoveItem(incoming.WorkflowLink));
host.OutgoingLinks.ToList().ForEach(outgoing => RemoveItem(outgoing.WorkflowLink));
_surface.Children.Remove(host);
}