docs: public void parseMetaData() {
      final ImageFormat imageFormat = ImageFormatChecker.getImageFormat_WrapIOException(
          getInputStream());
      mImageFormat = imageFormat;
      // BitmapUtil.decodeDimensions has a bug where it will return 100x100 for some WebPs even though
      // those are not its actual dimensions
      final Pair<Integer, Integer> dimensions;
      if (DefaultImageFormats.isWebpFormat(imageFormat)) {
        dimensions = readWebPImageSize();
      } else {
        dimensions = readImageMetaData().getDimensions();
      }
      if (imageFormat == DefaultImageFormats.JPEG && mRotationAngle == UNKNOWN_ROTATION_ANGLE) {
        // Load the JPEG rotation angle only if we have the dimensions
        if (dimensions != null) {
          mExifOrientation = JfifUtil.getOrientation(getInputStream());
          mRotationAngle = JfifUtil.getAutoRotateAngleFromOrientation(mExifOrientation);
        }
      } else if (imageFormat == DefaultImageFormats.HEIF
          && mRotationAngle == UNKNOWN_ROTATION_ANGLE) {
        mExifOrientation = HeifExifUtil.getOrientation(getInputStream());
        mRotationAngle = JfifUtil.getAutoRotateAngleFromOrientation(mExifOrientation);
      } else {
        mRotationAngle = 0;
      }
    }