I am working with a `ByteArrayInputStream` that contains an XML document consisting of one element with a large base 64 encoded string as the content of the element. I need to remove the surrounding tags so I can decode the text and output it as a pdf document.

What is the most efficient way to do this?

My knee-jerk reaction is to read the stream into a `byte` array, find the end of the start tag, find the beginning of the end tag and then copy the middle part into another `byte` array; but this seems rather inefficient and the text I am working with can be large at times (128KB). I would like a way to do this without the extra `byte` arrays.