docs: @Override
  	public Bitmap decode(ImageDecodingInfo decodingInfo) throws IOException {
  		Bitmap decodedBitmap;
  		ImageFileInfo imageInfo;
  
  		InputStream imageStream = getImageStream(decodingInfo);
  		if (imageStream == null) {
  			L.e(ERROR_NO_IMAGE_STREAM, decodingInfo.getImageKey());
  			return null;
  		}
  		try {
  			imageInfo = defineImageSizeAndRotation(imageStream, decodingInfo);
  			imageStream = resetStream(imageStream, decodingInfo);
  			Options decodingOptions = prepareDecodingOptions(imageInfo.imageSize, decodingInfo);
  			decodedBitmap = BitmapFactory.decodeStream(imageStream, null, decodingOptions);
  		} finally {
  			IoUtils.closeSilently(imageStream);
  		}
  
  		if (decodedBitmap == null) {
  			L.e(ERROR_CANT_DECODE_IMAGE, decodingInfo.getImageKey());
  		} else {
  			decodedBitmap = considerExactScaleAndOrientatiton(decodedBitmap, decodingInfo, imageInfo.exif.rotation,
  					imageInfo.exif.flipHorizontal);
  		}
  		return decodedBitmap;
  	}