public void RemoveFirstInQueue()
{
// remove the first element
if (_queue != null && _queue.Any())
_queue.RemoveAt(0);
// reset the index values
int index = 1;
foreach (var item in _queue.OrderBy(x => x.Index))
{
item.Index = index;
index++;
}
HasBeenModified = true;
}