code: public synchronized void returnBitmap(Bitmap bitmap) {
          if (bitmap == null || bitmapsBySize.contains(bitmap) ) {
              return;
          } else if(getBitmapSize(bitmap) > sizeLimit || !canBePooled(bitmap)) {
              return;
          }
          bitmapsByLastUse.add(bitmap);
          int pos = Collections.binarySearch(bitmapsBySize, bitmap, BITMAP_COMPARATOR);
          if (pos < 0) {
              pos = -pos - 1;
          }
          bitmapsBySize.add(pos, bitmap);
          currentSize += getBitmapSize(bitmap);
          trim();
      }
docs: Returns a bitmap to the pool, throwing away old bitmaps if the pool would exceed its allotted
  size.
  
  @param bitmap the buffer to return to the pool.