@Override
  public boolean remove(Object o) {
    if (o == null) {
      return false;
    }
    fullyLock();
    try {
      for (Node<E> trail = head, p = trail.next; p != null; trail = p, p = p.next) {
        if (o.equals(p.item)) {
          unlink(p, trail);
          return true;
        }
      }
      return false;
    } finally {
      fullyUnlock();
    }
  }
Removes a single instance of the specified element from this queue, if it is present. More
formally, removes an element {@code e} such that {@code o.equals(e)}, if this queue contains
one or more such elements. Returns {@code true} if this queue contained the specified element
(or equivalently, if this queue changed as a result of the call).

@param o element to be removed from this queue, if present
@return {@code true} if this queue changed as a result of the call
geode-core/src/main/java/org/apache/geode/internal/cache/ForceableLinkedBlockingQueue.java