docs: @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
    @Override
    public CloseableReference<Bitmap> createBitmapInternal(
        int width,
        int height,
        Bitmap.Config bitmapConfig) {
      if (mImmutableBitmapFallback) {
        return createFallbackBitmap(width, height, bitmapConfig);
      }
      CloseableReference<PooledByteBuffer> jpgRef = mJpegGenerator.generate(
          (short) width,
          (short) height);
      try {
        EncodedImage encodedImage = new EncodedImage(jpgRef);
        encodedImage.setImageFormat(DefaultImageFormats.JPEG);
        try {
          CloseableReference<Bitmap> bitmapRef =
              mPurgeableDecoder.decodeJPEGFromEncodedImage(
                  encodedImage, bitmapConfig, null, jpgRef.get().size());
          if (!bitmapRef.get().isMutable()) {
            CloseableReference.closeSafely(bitmapRef);
            mImmutableBitmapFallback = true;
            FLog.wtf(TAG, "Immutable bitmap returned by decoder");
            // On some devices (Samsung GT-S7580) the returned bitmap can be immutable, in that case
            // let's jut use Bitmap.createBitmap() to hopefully create a mutable one.
            return createFallbackBitmap(width, height, bitmapConfig);
          }
          bitmapRef.get().setHasAlpha(true);
          bitmapRef.get().eraseColor(Color.TRANSPARENT);
          return bitmapRef;
        } finally {
          EncodedImage.closeSafely(encodedImage);
        }
      } finally {
        jpgRef.close();
      }
    }