code: static void offerFirstTemporaryDirectBuffer(ByteBuffer buf) {
          assert buf != null;
          BufferCache cache = bufferCache.get();
          if (!cache.offerFirst(buf)) {
              // cache is full
              free(buf);
          }
      }
docs: Releases a temporary buffer by returning to the cache or freeing it. If
  returning to the cache then insert it at the start so that it is
  likely to be returned by a subsequent call to getTemporaryDirectBuffer.