Como excluir um leitor TIFF específico do ImageIO?

Pilha:

Java - 1.8.0_91Scala - 2.11.8Biblioteca - it.geosolutions.imageio-ext imageio-ext-tiff 1.1.15

Estamos lendo muitas imagens TIF antigas e, por algum motivo, a leitura é altamente inconsistente - por alguns motivos, em uma execução diferente, a leitura da mesma imagem pode ter êxito ou falhar, com exceção -

javax.imageio.IIOException: Invalid component ID 3 in SOS
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1236)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1039)
at com.sun.media.imageioimpl.plugins.tiff.TIFFOldJPEGDecompressor.decodeRaw(TIFFOldJPEGDecompressor.java:654)
at com.sun.media.imageio.plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2527)
at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1137)
at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1417)

O código é algo como isto:

import java.io.{ByteArrayInputStream, ByteArrayOutputStream}
import javax.imageio.ImageIO

def convertToPng(data: Array[Byte]): Array[Byte] = {
    val inputStream = new ByteArrayInputStream(data)
    val image = ImageIO.read(inputStream)
    val outputStream = new ByteArrayOutputStream(inputStream.available())
    ImageIO.write(image, "png", outputStream)
    outputStream.toByteArray
}

O problema é que o ImageIO inicializa 2 leitores TIFF ao mesmo tempo

 com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader & 
 it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader

OU

 it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReader
 com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader 

O primeiro falha, o segundo funciona. Como excluir com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader da configuração do ImageIO?

questionAnswers(1)

yourAnswerToTheQuestion