code: @Override
  	public boolean remove(@Nonnull T toRemove) {
  		T storedElement = getDedupMapForElement(toRemove).remove(toRemove);
  		return storedElement != null && super.remove(storedElement);
  	}
docs: In contrast to the superclass and to maintain set semantics, removal here is based on comparing the given element
  via {@link #equals(Object)}.
  
  @return <code>true</code> if the operation changed the head element or if is it unclear if the head element changed.
  Only returns <code>false</code> iff the head element was not changed by this operation.