code: public synchronized void returnBuf(byte[] buf) {
          if (buf == null || buf.length > mSizeLimit) {
              return;
          }
          mBuffersByLastUse.add(buf);
          int pos = Collections.binarySearch(mBuffersBySize, buf, BUF_COMPARATOR);
          if (pos < 0) {
              pos = -pos - 1;
          }
          mBuffersBySize.add(pos, buf);
          mCurrentSize += buf.length;
          trim();
      }
docs: Returns a buffer to the pool, throwing away old buffers if the pool would exceed its allotted
  size.
  
  @param buf the buffer to return to the pool.