private void Generate()
        {
            try
            {
                while (!cancelToken.IsCancellationRequested)
                {
                    {
                        currentTranAmount++;

                        Customer cust = customerList.GetRandomCustomer(cancelToken);
                        if (cust != null)
                        {
                            Transaction tran = new Transaction(cust, (decimal)rand.Next(1, maxTransAmount), RandomTransactionType());
                            tran.TransactionGenerator = this;
                            bank.BankQueue().Enqueue(tran);
                            cancelToken.ThrowIfCancellationRequested();
                        }

                        Thread.Sleep(100);
                    }
                }
            }
            catch (OperationCanceledException)
            {
            }

            finally{
                uiHelper.AddTellerStoppedMessage(string.Format("TransactionGenerator {0} Stopped!", task.Id));


                //Tried but was unable to serialize current state to include bank, customers, history, etc..
                // Worked through a bunch of "not serializable" errors,
                //  and marked the appropriate fields/properties as [NonSerialized];
                //but couldn't track them all down.

                //try
                //{
                //    formatter = new SoapFormatter();
                //    using (stream = new FileStream(SerializedFileName, FileMode.Create))
                //    {
                //        //Write values to SerializedFileName
                //        formatter.Serialize(stream, bank);
                //    }
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show(string.Format("Error Serializing to {0}. Message = {1}", SerializedFileName, ex.Message));
                //}
            }
        }