public void RemoveLast()
{
if (workers.Count > 1)
workers[workers.Count - 2].ReceiveData -= new ReceiveDataDelegate(workers[workers.Count - 1].ProcessData);
if (workers.Count > 0)
{
workers.RemoveAt(workers.Count - 1);
lastWorker = workers.Last();
}
}