Remove(PriorityValuePair <T> element) { bool result = __heap.Remove(element); if (Count <= 0) { // If the queue is empty now, clear the queue to reset the PriorityAdjustment. Clear(); } return(result); }