/// <summary>Gets the enumerator for the queue.</summary>
 /// <returns>An enumerator for the queue.</returns>
 public virtual IEnumerator GetEnumerator()
 {
     return(_heap.GetEnumerator());
 }
 /// <summary>Gets an enumerator for the heap.</summary>
 /// <returns>An enumerator for all elements of the heap.</returns>
 public override IEnumerator GetEnumerator()
 {
     lock (_heap.SyncRoot) return(_heap.GetEnumerator());
 }