/// <summary>
 /// Deletes given <paramref name="x"/> from hashqueue.
 /// Returns true if successful.
 /// </summary>
 public bool Delete(T x)
 {
     Ex.ThrowIfEmpty(IsEmpty(), "HashQueue is empty.");
     x.ThrowIfArgumentNull(nameof(x));
     if (!Has(x))
     {
         return(false);
     }
     dq.Delete(DeleteFromMap(x));
     return(true);
 }