class Concurrent::Collection::RubyNonConcurrentPriorityQueue

def delete(item)

@!macro priority_queue_method_delete
def delete(item)
  return false if empty?
  original_length = @length
  k = 1
  while k <= @length
    if @queue[k] == item
      swap(k, @length)
      @length -= 1
      sink(k) || swim(k)
      @queue.pop
    else
      k += 1
    end
  end
  @length != original_length
end