guava/src/com/google/common/collect/MinMaxPriorityQueue.java
@CanIgnoreReturnValue
  @Override
  public boolean offer(E element) {
    checkNotNull(element);
    modCount++;
    int insertIndex = size++;

    growIfNeeded();

    // Adds the element to the end of the heap and bubbles it up to the correct
    // position.
    heapForIndex(insertIndex).bubbleUp(insertIndex, element);
    return size <= maximumSize || pollLast() != element;
  }
@CanIgnoreReturnValue
  @Override
  public boolean offer(E element) {
    checkNotNull(element);
    modCount++;
    int insertIndex = size++;

    growIfNeeded();

    // Adds the element to the end of the heap and bubbles it up to the correct
    // position.
    heapForIndex(insertIndex).bubbleUp(insertIndex, element);
    return size <= maximumSize || pollLast() != element;
  }
@ CanIgnoreReturnValue @ Override public boolean offer ( E element ) { checkNotNull ( element ) ; modCount ++ ; int insertIndex = size ++ ; growIfNeeded ( ) ; // Adds the element to the end of the heap and bubbles it up to the correct // position. heapForIndex ( insertIndex ) . bubbleUp ( insertIndex , element ) ; return size <= maximumSize || pollLast ( ) != element ; }
Adds the given element to this queue. If this queue has a maximum size, after adding {@code
element} the queue will automatically evict its greatest element (according to its comparator),
which may be {@code element} itself.
Adds the given element to this queue . If this queue has a maximum size after adding {