ZForge.Controls.TreeViewAdv.Threading.AbortableThreadPool.HandleItem C# (CSharp) Method

HandleItem() private method

private HandleItem ( object ignored ) : void
ignored object
return void
        private void HandleItem(object ignored)
        {
            WorkItem item = null;
            try
            {
                lock (_callbacks)
                {
                    if (_callbacks.Count > 0)
                    {
                        item = _callbacks.First.Value;
                        _callbacks.RemoveFirst();
                    }
                    if (item == null)
                        return;
                    _threads.Add(item, Thread.CurrentThread);

                }
                ExecutionContext.Run(item.Context,
                    delegate { item.Callback(item.State); }, null);
            }
            finally
            {
                lock (_callbacks)
                {
                    if (item != null)
                        _threads.Remove(item);
                }
            }
        }