public void updateExifMetadataLossy(final InputStream src, final OutputStream os, final TiffOutputSet outputSet)
            throws ImagingException, IOException, ImagingException {
        final ByteSource byteSource = ByteSource.inputStream(src, null);
        updateExifMetadataLossy(byteSource, os, outputSet);
    }
Reads a JPEG image, replaces the EXIF metadata and writes the result to a stream.

<p>
Note that this uses the "Lossy" approach - the algorithm overwrites the entire EXIF segment, ignoring the possibility that it may be discarding data it
couldn't parse (such as Maker Notes).
</p>

@param src       InputStream containing JPEG image data.
@param os        OutputStream to write the image to.
@param outputSet TiffOutputSet containing the EXIF data to write.
@throws ImagingException if it fails to read the JFIF segments
@throws IOException      if it fails to read the image data
@throws ImagingException if it fails to write the updated data
src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java