@Override
  public boolean offer(E e) {
    if (e == null) {
      throw new NullPointerException();
    }
    final AtomicInteger count = this.count;
    if (count.get() >= capacity) // GEMFIRE changed == to >=
    {
      return false;
    }
    int c = -1;
    final ReentrantLock putLock = this.putLock;
    putLock.lock();
    try {
      if (count.get() < capacity) {
        enqueue(e);
        c = count.getAndIncrement();
        if (c + 1 < capacity) {
          notFull.signal();
        }
      }
    } finally {
      putLock.unlock();
    }
    if (c == 0) {
      signalNotEmpty();
    }
    return c >= 0;
  }
Inserts the specified element at the tail of this queue if it is possible to do so immediately
without exceeding the queue's capacity, returning {@code true} upon success and {@code false}
if this queue is full. When using a capacity-restricted queue, this method is generally
preferable to method {@link BlockingQueue#add add}, which can fail to insert an element only by
throwing an exception.

@throws NullPointerException if the specified element is null
geode-core/src/main/java/org/apache/geode/internal/cache/ForceableLinkedBlockingQueue.java