Baixar xml do email

Boa tarde
Tenho uma aplicação que faz a leitura do e-mail para baixar os arquivos xmls que estão anexados ao e-mail. A aplicação funciona para a maioria dos casos, porém tem alguns xmls que estão caindo na exception do código.
Segue o código:

mmt = (MimeMultipart) message.getContent();

        if (mmt.getBodyPart(bodyPart).getContent() instanceof BASE64DecoderStream) {
            BASE64DecoderStream decod = (BASE64DecoderStream) mmt.getBodyPart(bodyPart).getContent();
            int size = decod.available();
            byte[] b = new byte[size];
            decod.read(b);
            strXml = new String(b, "UTF-8");

        } else if (mmt.getBodyPart(bodyPart).getContent() instanceof String) {

            if (mmt.getBodyPart(bodyPart).getContent().toString().toUpperCase().contains("ISO-8859-1")) {
                strXml = new String(mmt.getBodyPart(bodyPart).getContent().toString().getBytes("ISO-8859-1"),
                        "ISO-8859-1");
            } else {
                strXml = new String(mmt.getBodyPart(bodyPart).getContent().toString().getBytes("ISO-8859-1"),
                        "UTF-8");
            }

        } else if (mmt.getBodyPart(bodyPart).getContent() instanceof QPDecoderStream) {
            QPDecoderStream decod = (QPDecoderStream) mmt.getBodyPart(bodyPart).getContent();
            int size = decod.available();
            byte[] b = new byte[size];
            decod.read(b);
            strXml = new String(b, "UTF-8");

        } else {       	

            throw new Exception(
                    " Precisa implementar novo decoder para: " + mmt.getBodyPart(bodyPart).getContent());*/

Eu verifiquei que quando entra no else é porque está vindo como StreamSource, já tentei ler de algumas formas, todas sem sucesso, alguém sabe como faço neste caso?
Obrigado desde já