code: public boolean remove(Object o) {
          final ReentrantLock lock = this.lock;
          lock.lock();
          try {
              int i = indexOf(o);
              if (i == -1)
                  return false;
              removeAt(i);
              return true;
          } finally {
              lock.unlock();
          }
      }
docs: 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 and only 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