I've never used ProgressMonitorInputStream, but usually when working with long tasks and showing updates in a GUI during that task, the long tasks should be performed in a separate thread and updates...