# remove method

bool remove (Object o)

Remove a single instance of `value` from the queue.

Returns `true` if a value was removed, or `false` if the queue contained no element equal to `value`.

## Implementation

    bool remove(Object o) {
      _DoubleLinkedQueueEntry<E> entry = _sentinel._nextLink;
      while (!identical(entry, _sentinel)) {
        bool equals = (entry._element == o);
        if (!identical(this, entry._queue)) {
          // Entry must still be in the queue.
          throw new ConcurrentModificationError(this);
        }
        if (equals) {
          entry._remove();
          _elementCount--;
          return true;
        }
        entry = entry._nextLink;
      }
      return false;
    }