/// <summary>Removes and returns the <see cref="FloodFillRange"/> at the beginning of the queue.</summary> public FloodFillRange Dequeue() { FloodFillRange range = new FloodFillRange(); if (size > 0) { range = array[head]; array[head] = new FloodFillRange(); head++; //advance head position size--; //update size to exclude dequeued item } return(range); }