boolean useReadUntilEnd = false;
// ---- get output stream to copy data to
if (validateStreamLength(streamLengthObj.longValue()))
{
out = stream.createFilteredStream(streamLengthObj);
long remainBytes = streamLengthObj.longValue();
int bytesRead = 0;
while (remainBytes > 0)
{
final int readBytes = pdfSource.read(streamCopyBuf, 0,
(remainBytes > streamCopyBufLen) ? streamCopyBufLen : (int) remainBytes);