code: public void unreserve(final T bagEntry)
     {
        if (bagEntry.compareAndSet(STATE_RESERVED, STATE_NOT_IN_USE)) {
           // spin until a thread takes it or none are waiting
           while (waiters.get() > 0 && !handoffQueue.offer(bagEntry)) {
              yield();
           }
        }
        else {
           LOGGER.warn("Attempt to relinquish an object to the bag that was not reserved: {}", bagEntry);
        }
     }
docs: This method is used to make an item reserved via <code>reserve(T)</code>
  available again for borrowing.
  
  @param bagEntry the item to unreserve